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. 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
    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