Trouver un mot dans word avec un apostrophe (') [Résolu]

Piou59150 2 Messages postés mardi 27 mai 2014Date d'inscription 12 novembre 2014 Dernière intervention - 12 nov. 2014 à 22:57 - Dernière réponse :  Piou59150
- 13 nov. 2014 à 23:44
Bonjour

J'essaie de trouver un code qui me permettrait d'identifier la présence d'un mot avec un apostrophe dedans.

Le code que j'ai n'identifier que les mots "entiers"

Voici le code que j'utilise
 If xmlDoc.InnerXml.Contains("L'écolier") Then
            MsgBox("L'écolier trouvé")
 End If

Je suis en visual basic ultimate 2013

Merci d'avance pour votre aide

Sébastien

EDIT : Ajout des balises de code (jordane)
Afficher la suite 

Votre réponse

5 réponses

jordane45 22111 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 août 2018 Dernière intervention - 13 nov. 2014 à 00:00
0
Merci
Bonjour
Tu veux savoir si un mot..quel qu'il soit
Contient une apostrophe ?
Si oui. ..utilises les REGEX
Bonjour

En fait c'est vraiment des mots précis que je voudrais trouver car je voudrais, après avoir dupliquer le fichier, modifier ces mots avec un
xmlDoc.InnerXml.replace("L'écolier","ELEVE1") par exemple

Merci de votre aide

Sébastien
jordane45 22111 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 août 2018 Dernière intervention - 13 nov. 2014 à 09:47
Donc ce que tu me dis.. c'est que tu veux utiliser "contains" ( le code que tu nous a donné au début) mais qu'avec des mots contenant des apostrophes ça ne fonctionne pas ?
c'est bien ça ??

Question bête.... as tu essayé d'échapper ton apostrophe ?
=> C'est à dire en mettant un back-slash devant....

If xmlDoc.InnerXml.Contains("L\'écolier") Then
            MsgBox("L'écolier trouvé")
 End If


Pour en revenir à ton souhait de trouver/remplacer..... les REGEX permettent de le faire...Sais tu au moins ce que c'est ??
As tu pris le temps de chercher sur le net après avoir lu ma réponse précédente ??

Voici de quoi traiter ta demande en REGEX :
=> Pour vérifier si une chaine existe :
http://msdn.microsoft.com/fr-fr/library/twcw2f1c%28v=vs.110%29.aspx


=> Pour remplacer une chaine par une autre :
http://msdn.microsoft.com/fr-fr/library/xwewhkd1%28v=vs.110%29.aspx
Bonsoir

Pour les personnes que ca intéresse j'ai trouvé ce code qui est génial car ca ne tient pas compte des accentes, apostrophe et autres caractères spéciaux

https://social.msdn.microsoft.com/Forums/en-US/1558f560-8ae6-413a-bbc4-aa8d5d912aac/find-replace-in-a-word-document-by-vbnet?forum=vbide

Sébastien
Commenter la réponse de jordane45
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 13/11/2014 à 08:03
0
Merci
Bonjour,
Plusieurs méthodes sont envisageables.
En voici une
Je vais me contenter de l'exposé du principe. A toi, ensuite, de développer sur ces bases :
1) "éclate" la chaîne à traiter par rapport au séparateur espace (utilise la fonction split)
2) parcours en boucle les élements de l'array ainsi obtenu et :
--- si contient une apostrophe
--- supprime cette apostrophe
--- si le dernier caractère n'est pas un ";", une "," un ";" etc ... : remplace-le par un "1" (ou e que tu veux)
--- si c'est un un ";", une "," un ";" etc ... , remplace l'avant dernier caractère
3) "rassemble à nouveau le tout (fonction Join)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.