Résolu XL 2019 Chercher des mots sauf ..

Fipat

XLDnaute Junior
Bonjour,

Je recherche à faire une recherche Vba mais je n'y parvient pas.
Par exemple dans la plage A1:M50
Je voudrais donc compter tous les mots présent sauf Toto, TicTac et Lulu.
Merci pour votre aide.
 
Ce fil a été résolu! Aller à la solution…

eriiiic

XLDnaute Barbatruc
Bonjour,

avec nbval() tu comptes tous les noms, auquel tu soustrais ceux que tu ne veux pas avec des nb.si()
eric
 

Fipat

XLDnaute Junior
Merci pour cette réponse qui m'a bien aiguillé :)
Cela donne :
VB:
Sub Trouver()
Dim R1 As Integer
Dim R2 As Integer
Dim R3 As Integer
Dim R4 As Integer
Dim Rfinal As Integer
Dim Plage As Range

Set Plage = Range("A1:M50")
R1 = WorksheetFunction.CountA(Range("A1:M50"))
R2 = WorksheetFunction.CountIf(Range("A1:M50"), "Toto")
R3 = WorksheetFunction.CountIf(Range("A1:M50"), "TicTac")
R4 = WorksheetFunction.CountIf(Range("A1:M50"), "Lulu")
Rfinal = R1 - R2 - R3 - R4
MsgBox Rfinal
End Sub
Peux-t'on simplifier ?
Je complique ma demande si je veux faire ma recherche à compter non pas de A1 mais par exemple D1.
Suis-je obliger de faire un CountA de D1 à M1 et refaire un autre CountA de A2 à M50 et les additionner ?
Merci.
 
Dernière édition:

eriiiic

XLDnaute Barbatruc
Tu peux tout mettre sur 1 ligne une ligne et éviter les variables intermédiaires, mais si ça te parait plus clair ainsi laisse donc.

Tu pourrais aussi faire :
VB:
-SOMMEPROD(NB.SI(A1:M50;{"toto";"tactac";"lulu"}))
pas sûr que tu sois gagnant en consommation de ressource mais comme la plage est petite ça ne se sentira pas.

Un peu confus mais si j'ai bien compris, oui, c'est comme ça qu'il faut faire.
Ou bien tu peux tenter une union() de plages, ou tu nommes ta plage faite en 2 sélections et tu utilises le nom, mais pas sur que nb.si() aime ça.
eric
 
Ce message a été identifié comme étant une solution!

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas