Bonjour à tous,
Comme le dit le titre de cette discussion, il se trouve que la commande "fichier = dir" (où "fichier" est bien entendu ma variable qui boucle sur les fichiers d'un répertoire) n'arrive pas à dépasser la deuxième image:
J'ai une trentaine d'images dans un répertoire. La boucle détecte bien image1, passe à image2 puis continue de boucler sur image2 malgré l'instruction fichier=dir.
Il se trouve que ce code marchait très bien la semaine dernière, puisque je l'ai moi-même utilisé dans exactement le même contexte, et qu'il m'affichait bien les images comme je les souhaitais ...
Vous trouverez l'extrait de code concerné ci-dessous.
Si quelqu'un a une idée, je suis preneur.
Merci beaucoup !
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 Do While fichier <> "" i = i + 1 'Insertion de l'image Call RepFonctions.PremièreLigne 'Procédure qui permet de sélectionner la première ligne de la page sur laquelle se trouve le curseur. Sert à ancrer l'image sur la page, puisque des sauts de pages arrivent ensuite With ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, FileName:=repertoire & fichier, _ linkToFile:=False, saveWithDocument:=True) .ZOrder msoBringToFront .WrapFormat.Type = 5 .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage .RelativeVerticalPosition = wdRelativeVerticalPage .LockAspectRatio = msoTrue .top = tempHeight .left = tempLeft .width = 512.5 / 2 - m .Line.Visible = msoTrue If (i + 1) Mod 2 <> 0 Then tempLeft = 52 tempHeight = 60 + (.height) * i / 2 + i / 2 * 2 * m Else tempLeft = (.width) + 52 + 2 * m tempHeight = 60 + (.height) * (i - 1) / 2 + (i - 1) / 2 * 2 * m End If End With If i = 6 Then Application.Run formatPage 'permet d'insérer une page selon le format renseigné dans la fonction If IsEmpty(nomAnnexe) = False Then RepFonctions.PremièreLigne Application.Templates( _ "blabla" _ ).BuildingBlockEntries("AnnexeStyleNormal").Insert Where:=Selection.Range, _ RichText:=True poubelle = MiseAJourSignet("NomAnnexe", nomAnnexe) End If i = i - 6 tempLeft = 52 tempHeight = 60 End If 'Récupération du prochain fichier du répertoire fichier = Dir() Loop
Partager