Macro remplaçant fonction "recherche"

emmanuel75

XLDnaute Junior
Bonsoir au forum,

Il se trouve qu' Excel possède beaucoup de fonctions intéressantes ( entre autre pour la manipulation des caractères ) mais je n'ai pas trouvé de fonction "TOUTE FAITE" concernant la situation suivante :

J'ai le texte suivant: "aaaaaREFaaaaREFhhhhhhhhhREF", dans une cellule donnée.
Comment faire afficher dans une autre cellule le nombre de fois qu'apparait la chaîne "REF" ??? Ici 3 dans l'exemple.

Je n'ai pas encore trouvé sur le site...hélas...

Emmanuel
 

emmanuel75

XLDnaute Junior
Re : Macro remplaçant fonction "recherche"

Une petite boucle suffisait...

"Sub recherche()

Dim i, c As Integer
Dim a As String

c = 0
a = Cells(1, 1).Value

For i = 1 To Len(a)
If Mid(a, i, 3) = "REF" Then c = c + 1
Next i

Cells(2, 1).Value = c

End Sub"

Voilà

Je n'avais pas assez cherché !!!
 

kjin

XLDnaute Barbatruc
Re : Macro remplaçant fonction "recherche"

Bonsoir,
Parce qu'excel permet aussi les fonctions perso
Dans un module standard
Code:
Function NBCARS(x As Range, y As String)
z = InStr(1, x.Text, y)
Do While z <> 0
NBCARS = NBCARS + 1
z = InStr(z + Len(y), x.Text, y)
Loop
 
End Function
Et si "aaaaaREFaaaaREFhhhhhhhhhREF" en A1, en A2
Code:
=NBCARS(A1;"REF")
te renverra 3, enfin je crois

Edit : remplace x.Text par x.Value pour recherche de nombre et/ou texte

A+
kjin
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 979
Membres
103 996
dernier inscrit
KB4175