Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Chercher des mots sauf ..

  • Initiateur de la discussion Initiateur de la discussion Fipat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Fipat

XLDnaute Occasionnel
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.
 
Solution
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
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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
6
Affichages
318
Réponses
4
Affichages
221
Réponses
17
Affichages
593
Réponses
3
Affichages
191
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…