Nombre si avec plage dynamique

Fermé
Eldavidos Messages postés 1 Date d'inscription jeudi 9 janvier 2020 Statut Membre Dernière intervention 9 janvier 2020 - 9 janv. 2020 à 12:08
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 9 janv. 2020 à 13:44
Bonjour à tous et à toutes,
Est-ce que quelqu'un saurait comment compter en vba (et non manuellement) le nombre de lignes si les valeurs des cellules sont supérieures à deux le tout de la cellule B2 à la dernière cellule de la colonne B en inscrivant le résultat dans la dernière ligne +1 ?
D avance merci et bonne journée à tous

Cordialement, David

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
9 janv. 2020 à 13:44
Bonjour David, bonjour le forum,

peut-être comme ça :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim C As Integer 'déclare la variable C (Compteur)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, "B").End(xlUp).Row 'définit la dernière ligne éditée de la colonne B de l'onglet O
TV = O.Range("B1:B" & DL) 'définit le tableau des valeurs TV
For I = 2 To DL 'boucle sur toutes les lignes I du tableau des valeurs TV (de 2 à DL)
    If TV(I, 1) > 2 Then C = C + 1 'si la donnée ligne I colonne 1 de TV est supérieure à 2, incrément le compteur C
Next I 'prochaine ligne de la boucle
O.Cells(DL + 1, "B").Value = C 'renvoie le compteur C dans la cellule ligne DL+1 colonne B
End Sub

0