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
- Compter le nombre d'occurence dans une colonne
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Nombre de jours entre deux dates excel - Guide
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question