Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2663 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Rechercher sur une partie d'un doc word

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Rechercher sur une partie d'un doc word

n°1164493
piupiu666
Posté le 29-07-2005 à 11:35:42  profilanswer
 

Bonjour,
 
Je cherche à faire une macro Word afin de remplacer les points par les virgules dans les chiffres, dans ma sélection. J'en est faite une mais elle me remplace les virgules entre tous les chiffres du document, pas seulement dans ma sélection. Des suggestions?
 
Voici ma macro:
 
Sub PointVirg()
 
Do While Selection.Find.Execute(FindText:="^#.^#", _
Forward:=True, _
Format:=True) = True
 
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "^#.^#"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=","
    Selection.Delete Unit:=wdCharacter, Count:=1
Loop
End Sub

mood
Publicité
Posté le 29-07-2005 à 11:35:42  profilanswer
 

n°1164496
jpcheck
Pioupiou
Posté le 29-07-2005 à 11:37:48  profilanswer
 

piupiu666 a écrit :

Bonjour,
 
Je cherche à faire une macro Word afin de remplacer les points par les virgules dans les chiffres, dans ma sélection. J'en est faite une mais elle me remplace les virgules entre tous les chiffres du document, pas seulement dans ma sélection. Des suggestions?
 
Voici ma macro:
 
Sub PointVirg()
 
Do While Selection.Find.Execute(FindText:="^#.^#", _
Forward:=True, _
Format:=True) = True
 
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "^#.^#"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:=","
    Selection.Delete Unit:=wdCharacter, Count:=1
Loop
End Sub


 
assure toi que la selection en cours est bien celle de ta souris (enfin ta zone de texte selectionnée koi)

n°1164539
piupiu666
Posté le 29-07-2005 à 11:57:59  profilanswer
 

Maerci pour la suggestion, mais même en sélectionnant avec la souris, ça ne fonctionne pas : toutes les points sont changés en virgule.

n°1164544
jpcheck
Pioupiou
Posté le 29-07-2005 à 12:00:08  profilanswer
 

piupiu666 a écrit :

Maerci pour la suggestion, mais même en sélectionnant avec la souris, ça ne fonctionne pas : toutes les points sont changés en virgule.


non mais ton selection dans ta fonction pas sur l'écran  :pt1cable:

n°1164552
piupiu666
Posté le 29-07-2005 à 12:04:18  profilanswer
 

jpcheck a écrit :

non mais ton selection dans ta fonction pas sur l'écran  :pt1cable:


Lol, je dois avouer que je débute un peu...  :)
Avec la souris dans ma fonction, c'est à dire?

n°1164574
jpcheck
Pioupiou
Posté le 29-07-2005 à 12:17:50  profilanswer
 

piupiu666 a écrit :

Bonjour,
 
 
Sub PointVirg()
 
Do While Selection.Find.Execute(FindText:="^#.^#", _
     


le Selection d'ici  :sarcastic:  tu le fais correspondre à ta selection de souris ou pas?
remplace le par ca peut etre:  
ActiveDocument.ActiveWindow.Selection.Find.Execute(FindText:="^#.^#", _

n°1164594
piupiu666
Posté le 29-07-2005 à 12:33:16  profilanswer
 

Je vois un peu mieux... Merci.
Je pensais que ça correspondais à la selection de ma souris effectivement, mais ce n'est pas le cas. J'ai essayé avec  
ActiveDocument.ActiveWindow.Selection.Find.Execute(), mais c'est pas mieux.
Ne peut on pas enregistrer cette selection dans une variable ou un truc du genre? (désole par avance, si c'est une question stupide, je découvre VB et ça fait longtemps que j'ai rien programmé...), puis faire le FindText sur cette variable?

n°1164610
jpcheck
Pioupiou
Posté le 29-07-2005 à 12:49:49  profilanswer
 

dsl moi je connais surtout excel, mais je vais chercher un peu... :sweat:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Rechercher sur une partie d'un doc word

 

Sujets relatifs
[VBS] [Résolu] Libération mémoire d'objet WORD[VBS] [Résolu]Centrer du texte dans un document Word
[RESOLU] Ouvrir un document Word déjà existant avec Access 97masquer la partie d'une page web
vbs html word textboxRechercher dans une table
word et vbsrechercher dans un tableau
Document Word dans une cellule d'un tableau HTMLUserForm avec Word
Plus de sujets relatifs à : Rechercher sur une partie d'un doc word


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR