Affectation variable pour recherche mot dans chaine caractere

[Résolu/Fermé]
Signaler
-
 Maertin -
Bonjour,

J'effectue une fonction countifs car je dois compter les cellules suivants plusieurs conditions. Jusque là rien de compliquer.
La dernière condition de mon countifs est si un mot est présent dans les chaine caractere des cellules, je compte la cellule. Ce mot proviens d'une autre cellule, que je met dans la variable critere1_1. Rien d'anormal.
Seulement quand dans mon countifs je met : "*critere1_1*", le programme ne comprend pas que je veux qu'il recherche le mot contenu dans la variable critere1_1 et non critere1_1

(exemple code ci-dessous)
Sub test()

Sheets("Mise en forme données").Select
Dim Fam1 As String
Dim SousFam1 As String
Dim critere1_1 As String

Fam1 = Range("M9").Value
SousFam1 = Range("N9").Value
Env1 = Range("O9").Value
critere1_1 = Range("L17").Value


Range("M17").Value = WorksheetFunction.CountIfs(Sheets("Tableau défauts C et obs.").Range("H:H"), Fam1, Sheets("Tableau défauts C et obs.").Range("I:I"), SousFam1, _
Sheets("Tableau défauts C et obs.").Range("G:G"), Env1, Sheets("Tableau défauts C et obs.").Range("J:J"), "*critere1_1*")

End Sub
Le resultat est 0

Mais si je fais :

Sub test()

Sheets("Mise en forme données").Select
Dim Fam1 As String
Dim SousFam1 As String
Dim critere1_1 As String

Fam1 = Range("M9").Value
SousFam1 = Range("N9").Value
Env1 = Range("O9").Value
critere1_1 = Range("L17").Value


Range("M17").Value = WorksheetFunction.CountIfs(Sheets("Tableau défauts C et obs.").Range("H:H"), Fam1, Sheets("Tableau défauts C et obs.").Range("I:I"), SousFam1, _
Sheets("Tableau défauts C et obs.").Range("G:G"), Env1, Sheets("Tableau défauts C et obs.").Range("J:J"), "*capot*")

End Sub

le resultat est 3

Si jamais vous comprenez mon problème et que vous trouvez une solution ou bien une idée, merci beaucoup.

PS : je suis un novice pur en VBA, j'apprend sur le tas en entreprise avec internet pour mon stage de fin d'étude alors désolé pour le code plutôt simpliste.

Amicalement,

Martin

1 réponse

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 531
Bonjour,

Si tu veux utiliser ta variable il faut l'écrire ainsi
 "*" & critere1_1 & "*") 

Super,
merci beaucoup pour ta réponse, simple et efficace!
Merci merci!!