Bonjour à tous,

J'ai une problématique un peu particulière, qui paraît très étrange. Vous pouvez peut-être me dire si un cas similaire vous est déjà arrivé...
J'ai une macro assez lourde, pas spécialement bien codée car je débute. Disons qu'elle n'est pas optimisée.
En gros, la partie qui m'interroge est la suivante : je parcours des onglets Excel et je fais un export dans Word. Chaque onglet est constitué de 5 parties, ce sont des plages nommées dans Excel.
De temps en temps, je me retrouve avec des doc Word qui sont créés et où une des 5 parties n'est pas présente. J'ai l'impression (une impression étrange, je suis d'accord) que lorsque mon PC "rame un peu", la macro "oublie" des lignes de code. Si je lance la macro deux fois d'affilé, il se peut qu'une fois tout soit complet et une autre fois, des oublis. Sans avoir modifié quoi que ce soit. Pouvez-vous me dire si c'est possible ou complètement aberrant de penser que la macro oublie des choses...?
Voici le bout de code concerné, noyé au milieu du reste :

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
For i = 10 To ThisWorkbook.Worksheets.Count
ThisWorkbook.Sheets(i).Select
If ThisWorkbook.Sheets(i).Range("A4").Value <> "                " Then
sNomRapport = ThisWorkbook.Sheets(i).Range("A1") & "_" & ThisWorkbook.Sheets(i).Name
ThisWorkbook.Sheets(i).Range("Intro_" & i).Copy     'copie le tableau d'intro de chaque onglet
Set wrdApp = CreateObject("Word.Application")     'ouvre une session Word
wrdApp.Visible = False
Set wrdDoc = wrdApp.Documents.Add    'crée un nouveau document
wrdApp.Selection.Paste
 
ThisWorkbook.Sheets(i).Range("Recap_" & i).Copy     'copie le tableau de chaque onglet
wrdDoc.Paragraphs.Add   'ajoute un paragraphe de type ligne blanche
wrdDoc.Paragraphs(wrdDoc.Paragraphs.Count).Range.Paste  'colle après le paragraphe
 
ThisWorkbook.Sheets(i).Range("Graphs_" & i).CopyPicture     'copie en image les graphiques de chaque onglet
wrdDoc.Paragraphs.Add   'ajoute un paragraphe de type ligne blanche
wrdDoc.Paragraphs(wrdDoc.Paragraphs.Count).Range.PasteAndFormat (wdChartPicture)    'colle en image les graphiques après le paragraphe
 
ThisWorkbook.Sheets(i).Range("NC_" & i).Copy    'copie l'encadré NC
wrdDoc.Paragraphs.Add   'on ajoute un paragraphe
wrdDoc.Paragraphs(wrdDoc.Paragraphs.Count).Range.Paste  'on le colle après le paragraphe
 
ThisWorkbook.Sheets(i).Range("Conclusion_" & i).Copy    'copie l'encadré des commentaires
wrdDoc.Paragraphs.Add   'ajoute un paragraphe (une ligne blanche)
wrdDoc.Paragraphs(wrdDoc.Paragraphs.Count).Range.Paste  'colle après le paragraphe
Merci beaucoup,

Alexis

(Et bien sûr, j'ai un "next i" à la fin...)