VBA : L'éditeur VBA



Dans cette seconde vidéo voyons un peu plus en détail les manipulations de bases dans notre éditeur VBA. Ajouter ou supprimer des feuilles de module de code ou de formulaires, distinguer les lieux potentiels de programmation...





VBA : L'environnement de travail



Avant de rentrer dans le vif du sujet, permettez moi de vous souhaiter, cher(s) lecteurs et chère(s) lectrice(s), mes meilleurs vœux pour l'année 2011. Puisse t'elle vous apporter tous ce que vous souhaitez.
Comme vous le constaterez à moins que vous ne soyez un nouveau visiteur, le blog à été entièrement relooké et réorganisé. J'espère que cette nouvelle formule vous conviendra.
Nous allons démarré l'année avec des vidéos pour toutes les personnes désireuses d'apprendre à utiliser le langage VBA Excel, et ce de A à Z et de manière très progressive.
Aussi dans cette première vidéo découvrons l'interface de développement du programmeur...



Doodle.com




http://www.doodle.com/ : Comment trouver une date, pour une réunion de travail, un déjeuner d'affaires, une conférence téléphonique, un événement familial, une sortie cinéma ou tout événement de groupe ? Doodle.com vous permet une planification sans douleurs que vous soyez particulier ou entreprise. 
De plus vous pouvez connecter vos calendriers (Lotus notes, Google calendar,....) et les afficher sur vos iPhone et vos pages iGoogle...


VBA : Compter les couleurs




Un de mes amis me demande, comment on pourrait cumuler le contenu de plusieurs cellules en fonction d'une couleur de fond appliquée à ces cellules ? Voici deux petites procédures VBA qui permettrons de résoudre facilement ce problème.

- 1 – Cette première procédure cumule simplement dans les cellules C1 à c5 les valeurs contenues dans des cellules de même couleur entre A1 et A10.

 Sub Cumul_couleur()
'déclaration des variables
Dim CouleurFond As Long
Dim LigneCumul As Long
Dim CouleurCumul As Long
Dim ligne As Long
'remise à zéro de cumuls précédent sans effacement de couleur
Range("c1:c5").ClearContents
For LigneCumul = 1 To 5
    Cells(LigneCumul, 3).Select
'récupération de la 1er couleur de cumul
    CouleurCumul = Selection.Interior.ColorIndex
    For ligne = 1 To 10
        Cells(ligne, 1).Select
        CouleurFond = Selection.Interior.ColorIndex
'récupération de la 1er couleur de fond
        If CouleurFond = CouleurCumul Then
'après comparaison des 2 couleurs on cumul
            Cells(LigneCumul, 3).Value = Cells(LigneCumul, 3).Value _
            + Cells(ligne, 1).Value
        End If
    Next ligne
Next LigneCumul
'Et on recommence
End Sub

- 2 – Dans ce second exemple nous appliquons une méthode identique mais à l'ensemble d'un tableau en comptant en plus le nombre de valeur par couleur.


Sub Cumul_Comptage_couleur()
'déclaration des variables
Dim CouleurFond As Long
Dim LigneCumul As Long
Dim CouleurCumul As Long
Dim ligne As Long
Dim col As Long
'remise à zéro de cumuls précédent sans effacement de couleur
Range("f1:f5").ClearContents
Range("h1:h5").ClearContents
For LigneCumul = 1 To 5
    Cells(LigneCumul, 6).Select
'récupération de la 1er couleur de cumul
    CouleurCumul = Selection.Interior.ColorIndex
    For ligne = 1 To 10
        For col = 1 To 4
            Cells(ligne, col).Select
            CouleurFond = Selection.Interior.ColorIndex
'récupération de la 1er couleur de fond
            If CouleurFond = CouleurCumul Then
'après comparaison des 2 couleurs on cumul
               Cells(LigneCumul, 6).Value = Cells(LigneCumul, 6).Value _
               + Cells(ligne, col).Value
' et maintenant on compte
               Cells(LigneCumul, 8).Value = Cells(LigneCumul, 8).Value + 1
              End If
        Next col
    Next ligne
Next LigneCumul
'Et on recommence
End Sub

Ces deux exemples seront aisément adaptables à vos tableaux…


 

Petite et grande valeur




Comment déterminer la plus grande et la plus petite valeur d'une plage de cellules contenant des données numériques ? Facile me direz-vous il suffit d'utiliser les fonctions = max() et = min(), ces deux fonctions permettant effectivement de déterminer les maximas et le minimas de votre plage.
Mais comment faire si l'on veut connaître non pas la première grande valeur ou la première petite valeur mais la Kiéme valeur grande ou petite d'une plage ? Permettez moi de vous présentez la fonction :

=GRANDE.VALEUR( plage ; K )
Ou
=PETITE.VALEUR( plage ; K )
- 1 – Regardons la syntaxe de la fonction grande valeur par exemple les cellules A1:B10 contiennent les données et la fonction =max(A1:B10) saisie en E1 nous affiche la plus grande valeur de la plage (ici 1 9120,00). Utilisons maintenant la fonction :
=GRANDE.VALEUR (A1:B10;2) qui retournera la 2ème grande valeur de la plage dans la cellule A3.


- 2 – Recommençons avec la fonction petite valeur, la fonction =min(A1:B10) saisie en E3 nous affiche la plus petite valeur de la plage (ici -265,00). Utilisons maintenant la fonction :
=PETITE.VALEUR (A1:B10;2) qui retournera la 2ème petite valeur de la plage dans la cellule E4.



top