Pb avec countif vba excel
pttvtt
Messages postés
2
Statut
Membre
-
pttvtt -
pttvtt -
Bonjour,
je rencontre un pb avec la fonction countif:
telle quel, cette fonction ne compte que les cellules strictement identiques au terme recherché
je souhaiterais qu'elle compte également les cellules comprenant le terme recherché et sans tenir compte des majuscules/minuscules
voici mon code actuel:
desti = TextBox1.Value
TextBox7.Value = Application.WorksheetFunction.CountIf(Range("a1:e2000"), desti)
MsgBox " La destination " & desti & " a été choisie " & cpt & " fois"
quelqu'un pourrait'il m'aider ?
merci
je rencontre un pb avec la fonction countif:
telle quel, cette fonction ne compte que les cellules strictement identiques au terme recherché
je souhaiterais qu'elle compte également les cellules comprenant le terme recherché et sans tenir compte des majuscules/minuscules
voici mon code actuel:
desti = TextBox1.Value
TextBox7.Value = Application.WorksheetFunction.CountIf(Range("a1:e2000"), desti)
MsgBox " La destination " & desti & " a été choisie " & cpt & " fois"
quelqu'un pourrait'il m'aider ?
merci
Configuration: Windows XP
3 réponses
-
Bonsoir,
Ce n'est pas un problème de majuscules/minuscules, countif n'y est pas sensible.
Et le résultat n'est pas mis à jour dans cpt (que tu utilises dans msgbox) mais dans textbox7.value (?)
eric -
Bonsoir eric,
et merci de ta réponse
tu as raison en ce qui concerne les majuscules/minuscules et mon résultat s'affiche bien dans textbox7
par contre, si une cellule contient par exemple, la chaine de caractères "123456789", je souhaiterais qu'elle soit comptée quand je fais une recherche avec "3456" (ce qui n'est pas le cas).
textbox7 affiche "1" si je fais ma recherche avec"123456789"
je ne sais pas si je me fais bien comprendre
cordialement -
Là à part une boucle de ce style je ne vois pas de worksheetfunction qui ferait l'affaire :
Dim c As Range desti = "3456" For Each c In [A1:E2000] If InStr(c.Value, desti) > 0 Then cpt = cpt + 1 Next c
eric
Comme le instr() est gourmand et que tu as beaucoup de cellules tu pourrais peut-être tester le contenu avec isnumeric() avant (à condition que tous tes nombres soient numériques et jamais en string). A voir si tu serais gagnant.
eric