Affectation variable pour recherche mot dans chaine caractere

Résolu/Fermé
Maertin - 1 mars 2017 à 17:01
 Maertin - 2 mars 2017 à 07:43
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
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
1 mars 2017 à 17:27
Bonjour,

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

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