Trouver et compter une chaîne contenant un caractère aléatoire

Bonsoir à tous,

Je cherche comment compter le nombre d'occurences d'une chaîne contenant un caractère aléatoire, dans un fichier.

Exemple: la chaîne contient toujours les caractères suivants "G7*0" mais le caractère aléatoire peut être de 0 à 9.

Si je fais

Dim occurences As Long, Counttxt As String

Counttxt = "G7*0" 

occurences = (Len(Src) - Len(Replace(Src, Counttxt, ""))) / Len(Counttxt) le résultat est 0

Mais lorsque je fais par exemple

Dim occurences As Long, Counttxt As String

Counttxt = "G750"

occurences = (Len(Src) - Len(Replace(Src, Counttxt, ""))) / Len(Counttxt) le résultat est correct.

Comment inclure ce "wildcard" dans ma recherche?

Par avance merci et bon week-end

André

Bonsoir,

je ne connais pas la chose mais avec un Regex et un Patern bien choisi cela devrait faire l'affaire...

@ bientôt

LouReeD

Bonjour André Gasser, LouReeD,

D'abord le caractère * permet de substituer un ensemble de caractères.

Hypothèse 1:

Je rechercherais plutôt en premier la position ou se trouve G7 par la formule Instr

Et à partir de cette position, exemple il se trouve en 10ième position, la douzième sera ton caractère aléatoire suivi du 0 en quatorzième position.

Une boucle sur l'ensemble des textes te permettra de compter tes occurrences.

Hypothèse 2 :

J'utiliserais la formule Split qui va découper le texte en prenant comme délimiteur tous les G700 à G790. Ce qui va raccourcir le texte source.

Et donc par comparaison de la source originale à celle obtenue. On a le nombre d'occurrences.

Bonjour et merci pour vos réponses.

Je viens de trouver mon erreur. Il faut employer like au lieu de = dans la recherche

Le contenu des cellules peut être G710, G720U4, G750, G770 (SXN), etc...

Si je fais une recherche par NB.SI(D:F;"G7?0*") je reçois bien le nombre de cellules trouvées contenant ces différentes syntaxes.

En testant avec VBA:

 If Cel.Value Like "G7?0*" Then 

Me donne aussi le nombre exact

bonne journée et cordiales salutations

André

Rechercher des sujets similaires à "trouver compter chaine contenant caractere aleatoire"