bonjour à tous
j'essaye d écrire une macro simple qui lit un fichier texte et qui l’insère après le paragraphe contenant:"Coller après cette ligne" puis qui remet le point d'insertion au début de "Coller après cette ligne".
Simple, mais ca marche pas!
le code a l'air cohérent:
mais l'insertion se fait en haut du document
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 Sub aaa_coller() Dim searchRange As Range Dim clipboardData As DataObject Dim Rep_DossiersTemp As String ' Définir la zone de recherche sur tout le document Set searchRange = ActiveDocument.Content ' Rechercher le paragraphe contenant "Coller après cette ligne" With searchRange.Find .Text = "Coller après cette ligne" .Forward = True .Wrap = wdFindStop If .Execute Then ' Si trouvé, se positionner à la ligne suivante searchRange.Collapse Direction:=wdCollapseEnd searchRange.Move Unit:=wdParagraph, Count:=1 searchRange.Collapse Direction:=wdCollapseStart ' Coller le contenu du fichier Rep_DossiersTemp = "C:\_cabinet\__Dossiers\~Additions_VBA~nv1\temp" InsererTexteLigneParLigne (Rep_DossiersTemp & "\" & "dtl_001.temp") ' Revenir à la ligne contenant "mon index" searchRange.Move Unit:=wdParagraph, Count:=-1 searchRange.Select Else MsgBox "Texte 'Coller après cette ligne' non trouvé." End If End With End Sub Function InsererTexteLigneParLigne(filePath As String) Dim fileNum As Integer Dim line As String ' Ouvre le fichier texte en mode lecture fileNum = FreeFile Open filePath For Input As #fileNum ' Lit le fichier ligne par ligne et l'insère dans le document Word Do While Not EOF(fileNum) Line Input #fileNum, line ' Lire une ligne Selection.TypeText line ' Insérer la ligne dans le document Selection.TypeParagraph ' Ajouter un saut de ligne Loop ' Fermer le fichier Close #fileNum End Function
je n’arrive à voir si c'est la routine de recherche de "Coller après cette ligne" qui ne fonctionne ou pas
ou le déplacement de l'insertion après le repèrage ?
si quelqu'un a une idée...
PS nouveau compte, l'ancien (2017) ne fonctionne plus
Partager