Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

If InStr(cm, "Client :") Then

4 réponses
Avatar
eddymaue
Bonjour,

cm = "client: Eddy blablabla"

If InStr(cm, "client:") Then
MsgBox "commentaire.Range.Text"
End If

dans la méthode de recherche InStr() si j'écris

If InStr(cm, "client:") Then
ca fonctionne pas

par contre

If InStr(cm, "client") Then
ca fonctionne


une idée pour coriger cette problématique

a+ Eddy

--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)

---
This email has been checked for viruses by AVG.
http://www.avg.com

10 réponses

1 2
Avatar
Geo
Bonsoir
C'est un coup de chance ou de malchance si ça marche.
Instr renvoie la position de la chaîne s'il l'a trouve, sinon il
renvoie 0.
Il faut écrire :
If InStr(cm, "client:") >0 Then
Avatar
eddymaue
pas chez moi
J,ouvre un document word 2016 et j'ajoute un commentaire "Client:
....."
et ou dans le commentaire il y a nom, adresse et autre renseignement du
client...
un second commentaire "Path: ..."
Sub find_a_customer_in_the_comments()
Dim commentaire As Variant
Dim cm As String
For Each commentaire In ActiveDocument.Comments
cm = commentaire.Range.Text
' MsgBox TypeName(cm)
If InStr(LCase(cm), "client:") > 0 Or InStr(LCase(cm), "client :")
Then
MsgBox "commentaire.Range.Text"
End If
' ici ca fonctionne
If InStr("client: Eddy ....", "client:") Then
MsgBox "j'ai trouvé client"
End If
Next
'MsgBox ActiveDocument.Comments(1).Author
End Sub
voilà si ca provient du commentaire ca ne fonctionne pas
une idée
a+ eddy
Dans son message précédent, Geo a écrit :
Bonsoir
C'est un coup de chance ou de malchance si ça marche.
Instr renvoie la position de la chaîne s'il l'a trouve, sinon il renvoie 0.
Il faut écrire :
If InStr(cm, "client:") >0 Then

--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
---
This email has been checked for viruses by AVG.
http://www.avg.com
Avatar
eddymaue
ok la ca fonctionne.... rien a comprendre... avec ou sans >0
eddymaue a utilisé son clavier pour écrire :
pas chez moi
J,ouvre un document word 2016 et j'ajoute un commentaire "Client: ....."
et ou dans le commentaire il y a nom, adresse et autre renseignement du
client...
un second commentaire "Path: ..."
Sub find_a_customer_in_the_comments()
Dim commentaire As Variant
Dim cm As String
For Each commentaire In ActiveDocument.Comments
cm = commentaire.Range.Text
' MsgBox TypeName(cm)
If InStr(LCase(cm), "client:") > 0 Or InStr(LCase(cm), "client :") Then
MsgBox "commentaire.Range.Text"
End If
' ici ca fonctionne
If InStr("client: Eddy ....", "client:") Then
MsgBox "j'ai trouvé client"
End If
Next
'MsgBox ActiveDocument.Comments(1).Author
End Sub
voilà si ca provient du commentaire ca ne fonctionne pas
une idée
a+ eddy
Dans son message précédent, Geo a écrit :
Bonsoir
C'est un coup de chance ou de malchance si ça marche.
Instr renvoie la position de la chaîne s'il l'a trouve, sinon il renvoie 0.
Il faut écrire :
If InStr(cm, "client:") >0 Then


--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
---
This email has been checked for viruses by AVG.
http://www.avg.com
Avatar
JièL
Hello,
pour info et pour alléger le code,
Option Compare Text
en début de module évite de s'em***béter avec la casse
Comme le dit Geo, InStr renvoi une valeur comprise entre 0 et N.
Le test "If condition Then" commence par évaluer "condition" et donc
renvoi Vrai ou Faux.
Faux est égal à 0, Vrai à n'importe quoi qui ne soit pas 0
Donc on peut effectivement se passer du > 0
Pour Geo, quand je programme je simplifie tout mes "If" comme ceci parce
que, par exemple, InStr(cm, "client:") va renvoyer 0 ou un nombre
positif > à 0, donc c'est comme si tu écrivais If 1 > 0 Then que l'on
peut donc simplifier en If 1 Then parce que 1 est différent de Faux (car
Faux = 0)
--
JièL
Le 13/02/2018 à 22:43, eddymaue a écrit :
pas chez moi
J,ouvre un document word 2016 et j'ajoute un commentaire "Client: ....."
et ou dans le commentaire il y a nom, adresse et autre renseignement du
client...
un second commentaire "Path: ..."
Sub find_a_customer_in_the_comments()
Dim commentaire As Variant
Dim cm As String
For Each commentaire In ActiveDocument.Comments
   cm = commentaire.Range.Text
  ' MsgBox TypeName(cm)
   If InStr(LCase(cm), "client:") > 0 Or InStr(LCase(cm), "client :") Then
       MsgBox "commentaire.Range.Text"
   End If
' ici ca fonctionne
   If InStr("client: Eddy ....", "client:") Then
      MsgBox "j'ai trouvé client"
   End If
Next
'MsgBox ActiveDocument.Comments(1).Author
End Sub
voilà si ca provient du commentaire ca ne fonctionne pas
une idée
a+ eddy
Dans son message précédent, Geo a écrit :
Bonsoir

C'est un coup de chance ou de malchance si ça marche.
Instr renvoie la position de la chaîne s'il l'a trouve, sinon il
renvoie 0.
Il faut écrire :
If InStr(cm, "client:") >0 Then
Avatar
JièL
Eddy, est-ce que tu affiche tous les caractères de contrôles dans ton
texte ?
Parce que je pense que Word t'ajoutes un espace insécable entre "Client"
et ":" ce qui donne un test faux si tu le compare à "Client" espace
normal et ":"
--
JièL
Le 13/02/2018 à 22:47, eddymaue a écrit :
ok la ca fonctionne.... rien a comprendre... avec ou sans >0
eddymaue a utilisé son clavier pour écrire :
pas chez moi

J,ouvre un document word 2016 et j'ajoute un commentaire "Client: ....."
et ou dans le commentaire il y a nom, adresse et autre renseignement
du client...

un second commentaire "Path: ..."

Sub find_a_customer_in_the_comments()

Dim commentaire As Variant
Dim cm As String
For Each commentaire In ActiveDocument.Comments
    cm = commentaire.Range.Text

   ' MsgBox TypeName(cm)
    If InStr(LCase(cm), "client:") > 0 Or InStr(LCase(cm), "client :")
Then
        MsgBox "commentaire.Range.Text"
    End If

' ici ca fonctionne
    If InStr("client: Eddy ....", "client:") Then

       MsgBox "j'ai trouvé client"
    End If
Next
'MsgBox ActiveDocument.Comments(1).Author

End Sub

voilà si ca provient du commentaire ca ne fonctionne pas

une idée

a+ eddy

Dans son message précédent, Geo a écrit :
Bonsoir


C'est un coup de chance ou de malchance si ça marche.
Instr renvoie la position de la chaîne s'il l'a trouve, sinon il
renvoie 0.
Il faut écrire :
If InStr(cm, "client:") >0 Then

Avatar
eddymaue
Salut
si je peux l'écrire ainsi "If 1 Then" c'est la voie que je
préfèrerais... sauf que c'est prendre de mauvaises habitudes voir de
mauvais plis en ce sens que si InStr() renvoie une valeur numérique il
faut traiter ce renvoie .... mais Vb est Vb et le Vba c'est du Vb... un
ramassi de briques de codes par dessus d'autres briques tirant son
origine de Basica de MS... donc j'adope >0 parce que dans tous les
autres langages de programation que j'ai touché sauf Forth je serais
forcé de traiter le retour comme un Integer
sans vouloir te blesser voir heurter ... c'est mon opignon et donc je
penche vers Geo
Cela m'intéresse
Option Compare Text
un p'tit peu plus d'explication serait aprécié
bonne soirée
:
Hello,
pour info et pour alléger le code,
Option Compare Text
en début de module évite de s'em***béter avec la casse
Comme le dit Geo, InStr renvoi une valeur comprise entre 0 et N.
Le test "If condition Then" commence par évaluer "condition" et donc renvoi
Vrai ou Faux.
Faux est égal à 0, Vrai à n'importe quoi qui ne soit pas 0
Donc on peut effectivement se passer du > 0
Pour Geo, quand je programme je simplifie tout mes "If" comme ceci parce que,
par exemple, InStr(cm, "client:") va renvoyer 0 ou un nombre positif > à 0,
donc c'est comme si tu écrivais If 1 > 0 Then que l'on peut donc simplifier
en If 1 Then parce que 1 est différent de Faux (car Faux = 0)
--
JièL
Le 13/02/2018 à 22:43, eddymaue a écrit :
pas chez moi
J,ouvre un document word 2016 et j'ajoute un commentaire "Client: ....."
et ou dans le commentaire il y a nom, adresse et autre renseignement du
client...
un second commentaire "Path: ..."
Sub find_a_customer_in_the_comments()
Dim commentaire As Variant
Dim cm As String
For Each commentaire In ActiveDocument.Comments
   cm = commentaire.Range.Text
  ' MsgBox TypeName(cm)
   If InStr(LCase(cm), "client:") > 0 Or InStr(LCase(cm), "client :") Then
       MsgBox "commentaire.Range.Text"
   End If
' ici ca fonctionne
   If InStr("client: Eddy ....", "client:") Then
      MsgBox "j'ai trouvé client"
   End If
Next
'MsgBox ActiveDocument.Comments(1).Author
End Sub
voilà si ca provient du commentaire ca ne fonctionne pas
une idée
a+ eddy
Dans son message précédent, Geo a écrit :


--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
---
This email has been checked for viruses by AVG.
http://www.avg.com
Avatar
eddymaue
On est tous riches et à la retraite....
Après mûre réflexion, audesson a écrit :
Le mardi 13 Février 2018 à 22:14 par eddymaue :
Bonjour,
cm = "client: Eddy blablabla"
If InStr(cm, "client:") Then
MsgBox "commentaire.Range.Text"
End If
dans la méthode de recherche InStr() si j'écris
If InStr(cm, "client:") Then
ca fonctionne pas
par contre
If InStr(cm, "client") Then
ca fonctionne
une idée pour coriger cette problématique
a+ Eddy
--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
---
This email has been checked for viruses by AVG.
http://www.avg.com

Bonjour a tous
Si je viens vers vous ce matin c'est pour témoigné du miracle qui s'est passé
dans ma vie ,je parle de miracle car c'est très rare de trouvé des vrais
prêteurs sur le net,j'ai fait 4 mois a mendié dans la rue mais en ce jour je
suis très heureuse car j'ai rencontré un Mr qui m'a donné l'adresse d'une
organisation de pret du nom de FINANCE EXPRESS,qui m'a accordé un prêt de
50000¤ afin de recommencé une nouvelle vie ,j'ai fait ma demande le mercredi
matin et déjà ce matin ,ma banque ma fait appelle pour me confirmé que
l'argent est arrivé dans mon compte,et que je peux déjà le retiré,à l'heure
ou je vous parle j'ai l'argent avec moi et je suis très émut ,je suis débordé
de joie,Je voudrai profité de cet occasion et dit grand merci a FINANCE
EXPRESS,Que le tout puissant vous bénisse,La Bible dit:
"" Luc 11:10 Car quiconque demande reçoit, celui qui cherche trouve, et l'on
ouvre à celui qui frappe. "de ne jamais laisser l'occasion parce que Jésus
est le même hier, aujourd'hui et éternellement.Si vous cherchez à démarrer un
prêt d'entreprise ou autre contactez cet mail:

--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai plaisir
d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
Avatar
Geo
Bonjour
Pour Geo, quand je programme je simplifie tout mes "If" comme ceci parce que,
par exemple, InStr(cm, "client:") va renvoyer 0 ou un nombre positif > à 0,
donc c'est comme si tu écrivais If 1 > 0 Then que l'on peut donc simplifier
en If 1 Then parce que 1 est différent de Faux (car Faux = 0)
Avatar
JièL
sshhhuuuuttt faut pas le dire, sinon on va nous demander des sous ;-)
J'ai quand même du mal à croire que ce genre de piège à c*** marche
encore de nos jours.
NB : Eddy, pas besoin de laisser le mail de cette arnaque dans ta réponse.
NB bis : mail frauduleux signalé à google, le compte va être supprimé
--
JièL
Le 14/02/2018 à 05:02, eddymaue a écrit :
On est tous riches et à la retraite....
Après mûre réflexion, audesson a écrit :
Le mardi 13 Février 2018 à 22:14 par eddymaue :
Bonjour,
cm = "client: Eddy blablabla"
 If InStr(cm, "client:") Then
     MsgBox "commentaire.Range.Text"
End If
dans la méthode de recherche InStr() si j'écris
If InStr(cm, "client:") Then
      ca fonctionne pas
par contre
If InStr(cm, "client") Then
      ca fonctionne
une idée pour coriger cette problématique
a+ Eddy
--
a+ Eddy
Merci de partager avec moi votre immense savoir que je me ferai
plaisir d'absorber... il va de soi que je vais vous en laisser un peu
Politesse et savoir vivre oblige ;0)
---
This email has been checked for viruses by AVG.
http://www.avg.com


Bonjour a tous
Si je viens vers vous ce matin c'est pour témoigné du miracle qui
s'est passé
dans ma vie ,je parle de miracle car c'est très rare de trouvé des vrais
prêteurs sur le net,j'ai fait 4 mois a mendié dans la rue mais en ce
jour je
suis très heureuse car j'ai rencontré un Mr qui m'a donné l'adresse d'une
organisation de pret  du nom de PHISHING EXPRESS,qui m'a accordé un
prêt de
50000¤ afin de recommencé une nouvelle vie ,j'ai fait ma demande le
mercredi
matin et déjà ce matin ,ma banque ma fait appelle pour me confirmé que
l'argent est arrivé dans mon compte,et que je peux déjà le retiré,à
l'heure ou je vous parle j'ai l'argent avec moi et je suis très émut
,je suis débordé de joie,Je voudrai profité de cet occasion et dit
grand merci a PHISHING EXPRESS,Que le tout puissant vous bénisse,La
Bible dit:
"" Luc 11:10 Car quiconque demande reçoit, celui qui cherche trouve,
et l'on
ouvre à celui qui frappe. "de ne jamais laisser  l'occasion parce que
Jésus est le même hier, aujourd'hui et éternellement.Si vous cherchez
à démarrer un prêt d'entreprise ou autre contactez cet mail:
Avatar
JièL
Re,
Le 14/02/2018 à 00:20, eddymaue a écrit :
Salut
si je peux l'écrire ainsi "If 1 Then" c'est la voie que je
préfèrerais... sauf que c'est prendre de mauvaises habitudes voir de
mauvais plis en ce sens que si InStr() renvoie une valeur numérique il
faut traiter ce renvoie ....

Burp... oh pardon :-)
Pas obligé de le traiter, surtout dans ton cas ou tu veux juste savoir
si le mot en question est présent
sans vouloir te blesser voir heurter ...

Aucun problème, chacun fait comme il veut/peut.
Cela m'intéresse
Option Compare Text
un p'tit peu plus d'explication serait aprécié

Voir ici
https://msdn.microsoft.com/fr-fr/vba/language-reference-vba/articles/option-compare-statement
PS : tu as pensé à l'espace insécable avant le ":" ?
--
JièL
1 2