Compter le nombre d'occurence dans une colonne
RésoluRemi2236 Messages postés 89 Statut Membre -
Bonjour,
Je suis novice en VBA et je souhaiterais de l'aide pour une fonction que je n'arrive pas à écrire.
Je souhaiterais pouvoir, en cliquant sur un bouton, que cela m'affiche un MsgBox avec le nombre de vaccins à réaliser. Pour chaque personne que je suis, j'ai plusieurs vaccins que je rentre dans une cellule. Je veux que pour chaque vaccin, cela me note le nombre total de vaccins à réaliser par type. J'ai écris ça :
Private Sub CommandButton1_Click()
Dim Nb_DTCaP As Integer
Dim Nb_Méningites As Integer
Dim Nb_Fièvre_typhoïde As Integer
Dim Nb_Encéphalites_à_tiques As Integer
Dim Nb_Grippes_saisonnières As Integer
Dim Nb_Fièvre_jaune As Integer
Dim Nb_Hépatite_virale_A As Integer
Dim Nb_Hépatite_virale_B As Integer
Dim Nb_COVID_19 As Integer
Dim Nb_ROR As Integer
Nb_DTCaP = WorksheetFunction.CountIf(Range("O:O"), "DTCaP")
Nb_Méningites = WorksheetFunction.CountIf(Range("O:O"), "Méningites")
Nb_Fièvre_typhoïde = WorksheetFunction.CountIf(Range("O:O"), "Fièvre typhoïde")
Nb_Encéphalites_à_tiques = WorksheetFunction.CountIf(Range("O:O"), "Encéphalites à tiques")
Nb_Grippes_saisonnières = WorksheetFunction.CountIf(Range("O:O"), "Grippes saisonnières")
Nb_Fièvre_jaune = WorksheetFunction.CountIf(Range("O:O"), "Fièvre jaune")
Nb_Hépatite_virale_A = WorksheetFunction.CountIf(Range("O:O"), "Hépatite virale A")
Nb_Hépatite_virale_B = WorksheetFunction.CountIf(Range("O:O"), "Hépatite virale B")
Nb_COVID_19 = WorksheetFunction.CountIf(Range("O:O"), "COVID 19")
Nb_ROR = WorksheetFunction.CountIf(Range("O:O"), "ROR")
MsgBox "Synthèse des vaccins à réaliser : " & vbCrLf & "DTCaP : " & Nb_DTCaP & vbCrLf & "Méningites : " & Nb_Méningites & vbCrLf & "Fièvre typhoïde : " & Nb_Fièvre_typhoïde & vbCrLf & "Encéphalites à tiques : " & Nb_Encéphalites_à_tiques & vbCrLf & "Grippes saisonnières : " & Nb_Grippes_saisonnières & vbCrLf & "Fièvre jaune : " & Nb_Fièvre_jaune & vbCrLf & "Hépatite virale A : " & Nb_Hépatite_virale_A & vbCrLf & "Hépatite virale B : " & Nb_Hépatite_virale_B & vbCrLf & "COVID-19 : " & Nb_COVID_19 & vbCrLf & "ROR : " & Nb_ROR
End Sub
Mais cela ne marche pas. Cela marche uniquement si je mets qu'un seul vaccin par cellule. Auriez-vous une solution ?
Merci d'avance !
Cdt, Rémi
5 réponses
-
Bonjour,
Un peu au hasard. Il faut mettre des caractères génériques dans les "CountIf", par exemple :
Nb_DTCaP = WorksheetFunction.CountIf(Range("O:O"), "*DTCaP*")Daniel
-
Bonjour
Pour avoir une réponse adaptée il faut fournir ton fichier en le postant sur cjoint.com, en faisant créer un lien que tu copies et reviens coller ici
Dans l'attente
Cdlmnt
-
Bonjour,
Merci pour votre réponse, j'ai essayé mais ça ne change rien. Du moment où il y a plusieurs termes dans une même cellule, cela ne marche pas...
Je ne sais pas si une autre solution est possible.
Cdt
-
Partage un classeur.
Daniel
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Je viens de voir votre macro et vous avez ajouté des * entre les termes. J'ai rajouté ces étoiles avant et après et du coup ça marche...je me sens très idiot !
Merci du coup...
Cdt
Rémi
