Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème avec InsTr, ne renvoie pas la bonne valeur ! VBA

  • Initiateur de la discussion Initiateur de la discussion sebjedi38
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sebjedi38

Guest
Bonjour

Je recherche des carastéres dans une celleule :

' Chercher le texte "<var:_"
Chercher = InStr(AdresseActive, "<var:_")

Si dans ma cellule j'ai "<var:_TOTO> azerty"
"Chercher" me retourne 1, ce qui est parfait.

Par contre si dans ma cellule j'ai " azerty <var:_TOTO>"
"Chercher" me retourne 0 !!!
Je m'attendais a avoir 1 ce qui est normal ! car"<var:_" est présent dans la cellule.

Comment puis je avoir ces conditions de recherche dans une cellule, échercher" me revoyer 1 quand "<var:_" est présent ?

Merci pour votre aide.

Séb
 
Re : Problème avec InsTr, ne renvoie pas la bonne valeur ! VBA

bonjour

absolument pas ! ce serait illogique !

< var est à la 1' position

par-contre ici " azerty <var:_TOTO>"
ici < var est à la 9'position !

MsgBox InStr("<var:_TOTO> azerty", "<var:_") 'ceci donne 1'position
MsgBox InStr(" azerty <var:_TOTO>", "<var:_") 'ceci donne 9'position
 
Dernière édition:
Re : Problème avec InsTr, ne renvoie pas la bonne valeur ! VBA

Ok j'avais mal compris la fonction InsTr

Donc dans mon cas comment traduire :

Si "<var:_" est présent dans la cellule = 1
Si pas présent = 0

merci pour votre aide.

Séb
 
Re : Problème avec InsTr, ne renvoie pas la bonne valeur ! VBA

re

oui, pour comprendre essaies ceci:

MsgBox InStr("<var:_TOTO> azerty", "<var:_") 'ceci donne 1'position
MsgBox InStr(" azerty <var:_TOTO>", "<var:_") 'ceci donne 9'position

pour info voir aussi l'aide sur instrrev
les deux donnent toujours la position de gauche à droite
mais la recherche s'effectue de gauche à droite avec instr et donnera le premier rencontré en partant de gauche
par-contre il donnera le premier rencontré en partant de droite avec instrrev

EDIT: essaies ceci tu comprendras

Resultat1 = "< <"

ChercherGauche = InStr(Resultat1, "<") ' ici le 1'rencontré en partant de gauche est à la 1'position
ChercherDroite = InStrRev(Resultat1, "<") ' ici le 1'rencontré en partant de droite est à la 5'position
MsgBox ChercherGauche & vbLf & ChercherDroite



pour ta question tester avec if

if InStr(AdresseActive, "<var:_") > 0 then OK !
ou if Chercher > 0 then OK !

RE EDIT:
et par sécurité il est parfois préférable de tester les deux chaînes en minuscule ou en majuscule
avec Lcase() ou Ucase voir là aussi l'aide vba ?
 
Dernière édition:
Re : Problème avec InsTr, ne renvoie pas la bonne valeur ! VBA

Alors je viens de tester :

Dans Resultat1 = "Display <var:_TOTO>"

ChercherGauche = InStr(Resultat1, "<")
ChercherDroite = InStrRev(Resultat1, ">")

Mais j'ai :

ChercherGauche = 9
ChercherDroite = 19

Dans ChercherDroite je m'attendais a avoir 1 :-(

J'ai encore mal compris ? :-(

Séb
 
Re : Problème avec InsTr, ne renvoie pas la bonne valeur ! VBA

re

je me suis mal exprimé ! je vais devoir rectifier mon post !

en réalité il donne toujours la position de gauche à droite
mais la recherche s'effectue de gauche à droite avec instr et donnera le premier rencontré en partant de gauche
par-contre il donnera le premier rencontré en partant de droite avec instrrev

EDIT: essaies ceci tu comprendras

Resultat1 = "< <"

ChercherGauche = InStr(Resultat1, "<") ' ici le 1'rencontré en partant de gauche est à la 1'position
ChercherDroite = InStrRev(Resultat1, "<") ' ici le 1'rencontré en partant de droite est à la 5'position
MsgBox ChercherGauche & vbLf & ChercherDroite
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…