C@thy
XLDnaute Barbatruc
bonjour le forum,
je cherche à remplacer dans un document un nombre par un autre, trouvé dans une cellule d'excel.
j'ai écrit le code suivant : (je suis sous mso 2010 mais je joins les fichiers en 2003 pour une plus large lecture)
Je ne suis malheureusement pas trop familiarisée avec word.
j'ai un petit souci pour remplacer mon nombre :
d'abord le sélectionner (il y a des espaces, donc ça fait plusieurs mots...)
puis mettre le nombre de ma cellule excel à la place.
(A priori, je n'ai pas à changer la date, elle se met automatiquement à la date du jour, mais je ne sais plus comment on voit les champs)
Edit : j'ai trouvé comment on fait sous 2010, c'est dans les options...
Pourriez-vous me donner un petit coup de main pour remplacer mon nombre?
En vous remerciant,
C@thy
je cherche à remplacer dans un document un nombre par un autre, trouvé dans une cellule d'excel.
j'ai écrit le code suivant : (je suis sous mso 2010 mais je joins les fichiers en 2003 pour une plus large lecture)
Code:
'IMPORTANT!! Cocher la référence Microsoft Word x.x Object Library dans le menu Outils, Références...
Sub OuvrirFichierDoc()
Dim zedate As Date
Dim wrdAppli As New Word.Application
Dim Doc As Word.Document
Dim chemin As Stringchemin = ThisWorkbook.Path
wrdAppli.Visible = True
zedate = CDate("29/03/2013")
Set a = Range("A5:A" & Range("A1048576").End(xlUp).Row)b = CDbl(zedate)
c = Application.Match(b, a, 0)
ligdate = a(c).Row
'dernière colonne
If Range("F" & ligdate).Value > 0 Then 'je récupère le contenu de ma cellule
'si le nombre est positif j'ouvre le fichier verse sinon j'ouvre le fichier recoit
Set Doc = wrdAppli.Documents.Open(chemin & "\" & "NivIEDOMverse.docx")
wrdAppli.Selection.HomeKey Unit:=wdStory
For i = 1 To 2
With wrdAppli.Selection.Find
.ClearFormatting
.Execute FindText:="à l'IEDOM au nom du SCBCM MINEFI en date d'opération du", Format:=True, Forward:=True
If .Found = True Then
wrdAppli.Selection.MoveRight Unit:=wdWord, Count:=5 ', 'Extend:=wdExtend
wrdAppli.Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
End If
End With
Next i
Else
Set Doc = wrdAppli.Documents.Open(chemin & "\" & "NivIEDOMreçoit.docx")
'traitement Recoit... même punition
End If
End Sub
j'ai un petit souci pour remplacer mon nombre :
d'abord le sélectionner (il y a des espaces, donc ça fait plusieurs mots...)
puis mettre le nombre de ma cellule excel à la place.
(A priori, je n'ai pas à changer la date, elle se met automatiquement à la date du jour, mais je ne sais plus comment on voit les champs)
Edit : j'ai trouvé comment on fait sous 2010, c'est dans les options...
Pourriez-vous me donner un petit coup de main pour remplacer mon nombre?
En vous remerciant,
C@thy
Pièces jointes
Dernière édition: