Compter occurrences sur plusieurs colonnes

Bonsoir,

J'essaye de compter le nombre d'occurrences ( 1,2,3,etc) sur plusieurs colonnes et mettre le résultat dans une cellule à côté de chaque occurrence.

Je sais le faire en formule mais je voudrais le faire en vba, en essayant de faire une boucle, mais cela ne fonctionne pas.

Merci d'avance pour votre aide

19test.xlsx (11.77 Ko)

bonjour Caro curieuse,

comme ceci ?

Sub Caro()
     With Sheets("euromillions_202002") 'votre feuille
          Set c0 = .Range("B2:F10")          'votre plage pour compter

          For Each c In .Range("D16:D35").Cells     'plage pour le résultat de VBA
               c.Value = WorksheetFunction.CountIf(c0, c.Offset(, -2).Value)     'compter dans c0 avec la valeur de 2 colonnes vers gauche
          Next
     End With
End Sub

Merci, cela fonctionne très bien et j'ai compris la logique, enfin j'espère.

Bon week-end

Le code fonctionne très bien. Est-ce que je peux écrire dans un autre classeur ? Je cherche et ne trouve pas.

Merci

bonjour, je suppose que ces chiffres se trouvent dans un autre fichier "Test.xlsx" et feuille "Euromillions..." qui est ouvert et que la plage D16:D35 se trouve dans un autre fichier, aussi avec une feuille "Euromillions..." qui contient la macro. Vous pouvez adapter les noms des feuilles et du fichier.

Sub Caro()
     Set c0 = Workbooks("Test.xlsx").Sheets("euromillions_202002").Range("B2:F10")     'votre plage pour compter dans un autre fichier

     For Each c In ThisWorkbook.Sheets("euromillions_202002").Range("D16:D35").Cells     'plage pour le résultat de VBA dans ce fichier
          c.Value = WorksheetFunction.CountIf(c0, c.Offset(, -2).Value)     'compter dans c0 avec la valeur de 2 colonnes vers gauche
     Next

End Sub

Merci BsAlv, c'était l'inverse mais j'ai réussi. Cela fonctionne bien. J'ai tout à apprendre sur le vba mais je persévère, c'est passionnant.

Bonne soirée

Rechercher des sujets similaires à "compter occurrences colonnes"