Recherche la position d'un caractère dans une chaine

LaurentG

XLDnaute Occasionnel
Bonjour,

J'aimerais à l'aide de vba, localiser un caractère dans une chaîne.
Connaissez-vous le code?

Merci pour votre aide
Laurent
 

porcinet82

XLDnaute Barbatruc
Re : Recherche la position d'un caractère dans une chaine

Salut,

Il te suffit d'utiliser la fonction InStr ou InStrB
La première te permet de recherché du texte en partant de la gauche, la seconde de la droite.
Cette fonction fonctionne de la manière suivante :
InStr(Caractère de départ, Chaine dans laquelle tu recherches, Chaine recherchée, une option à utiliser ou non)

Pour plus d'info, tape Instr dans vba, surligne le avec le curseur et fais F1.

@+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Recherche la position d'un caractère dans une chaine

Bonjour Laurent, bonjour le forum,


Je pense qu'il y a une fonction qui fait ça très bien mais je ne m'en souviens plus et j'ai eu la flemme de chercher... Je t'envoie un bout de code (à adapter) qui pourrait faire l'affaire.

Code:
Sub Macro1()
Dim x As Integer 'déclare la variable x
Dim pos As Integer 'déclare la variable x
 
For x = 1 To Len("ton_texte") 'boucle sur tous les caractères du texte
 
    'condition : si le xième caractère du texte correspond
    If Mid("ton texte", x, 1) = "ton_caractère" Then
        pos = x 'définit la variable pos
        Exit For 'sort de la boucle
    End If 'fin de la condition
 
Next x 'prochain caractère du texte
 
MsgBox pos 'message renvoyant la position
 
End Sub

Édition :

Suis-je bête ! Il suffisait de demander à Porcinet... Il sais tout ce Romain ! (Salut à toi ô Romain).
 
Dernière édition:

Elhem

XLDnaute Nouveau
Re : Recherche la position d'un caractère dans une chaine

Bonjour,

Je veux savoir la fonction qui permet de donner la position du nombre le plus grand exemple :

0-166-0-1143-644 donne le résultat 4 (la position du 1143).

Merci,
Elhem
 

Discussions similaires

Réponses
12
Affichages
574

Statistiques des forums

Discussions
312 492
Messages
2 088 940
Membres
103 989
dernier inscrit
jralonso