VBA Compter des cellules

Résolu
Bonjour,

Débutant en VBA, j'essaye de m'exercer sur le cas suivant:
Dans la colonne A et B, j'ai rentré des valeurs:
Colonne A
A
A
A
A
A

Colonne B

1
1
1

Je n'ai pas le même nombre de A et de 1.
Le but est de compter le nombre de A où je trouve un 1 dans la même ligne et de noter le résultat en C1

Voilà ce que j'ai fais pour le moment:
Sub Macro1()
Thisbook = ActiveWorkbook.Name

i = 1

While Workbooks(Thisbook).Sheets("Feuil1").Range("A" & i).Value <> ""
valeur_cellule = Workbooks(Thisbook).Sheets("Feuil1").Range("A" & i).Value
valeur_1 = Workbooks(Thisbook).Sheets("Feuil1").Range("B" & i).Value = 1
total_a_1 =

i = i + 1

Wend
Workbooks(Thisbook).Sheets("Feuil1").Range("C" & 1).Value = total_a_1
End Sub

C'est face à total_a_1 que j'ai un problème.
J'ai essayé avec countA, countIf mais impossible d'avoir le bon résultat.

J'ai effectué des recherches sur le Net et je n'ai pas trouvé mon bonheur.
Avez-vous une idée ?

Par avance merci

2 réponses

  1. Contributeur
    Bonjour

    essaies ceci
    Option Explicit
    
    Sub compter_a1()
    Dim derlig As Long, nbre As Long
    Dim cellule As Range
    
    'donne la dernière ligne utilisée en col A
    derlig = Range("A65536").End(xlUp).Row
    
    'on boucle sur les cellules de la colonne A jusqu'à derlig
    For Each cellule In Range("A1:A" & derlig)
        'si la cellule est égale à A et la cellule sur la m^lig et une colonne à droite =1 alors
        If cellule = "A" And cellule.Offset(0, 1) = 1 Then
            'on additionne de 1le nombre de cas
            nbre = nbre + 1
        End If
    Next
    
    Range("C1") = nbre
    End Sub
    


    pour t'initier à VBA site très pédago et cool
    http://www.info-3000.com/

    edit à 12:42h
    ci joint maquette
    https://www.cjoint.com/?djmPpmdVpL
    0
    1. Je me suis inspiré de ton code et j'ai fais ceci:
      Sub Macro1()
      Thisbook = ActiveWorkbook.Name

      i = 1
      total_a_1 = 0

      While Workbooks(Thisbook).Sheets("Feuil1").Range("A" & i).Value <> ""
      valeur_cellule = Workbooks(Thisbook).Sheets("Feuil1").Range("A" & i).Value
      valeur_1 = Workbooks(Thisbook).Sheets("Feuil1").Range("B" & i).Value

      If valeur_1 = 1 And valeur_cellule <> "" Then
      total_a_1 = total_a_1 + 1
      End If

      i = i + 1

      Wend
      Workbooks(Thisbook).Sheets("Feuil1").Range("C" & 1).Value = total_a_1
      End Sub

      Et ca marche !

      Merci
      0