Bonjour

J’ai 1400 fichiers dans un dossier contenant tous des données de même nature et sous la même frome. Afin d’extraire certaine données, je me suis fait une marco qui m’extrait les données recherchées à partir d’un listing des noms de fichier. Toutefois, si dans mon listing un no de contact dont le fichier n’a pas encore été crée apparait, la macro me signale une erreur.

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
Sub ImportDesCdc() 
 
' ImportDesCdc Macro 
 
    Dim Dateiname As String 
    Dim i As Integer 
 
For i = 0 To 50 
 
' Définir le nom du ficher à importer 
    Dateiname = ActiveCell.Offset(i, 0) 
 
' Ouvrir fichier dans le directorie indiqué 
    ChDir "G:\Mes Documents\Analyses\Analyse Regulo STD\Courbes de charge" 
    Workbooks.Open Filename:=Dateiname & ".csv", Local:=True 
 
' Copier les valeurs de la courbe de charge 
    Range("A1:B1").Select 
    Range(Selection, Selection.End(xlDown)).Select 
    Application.CutCopyMode = False 
    Selection.Copy 
 
' Coller les valuers dans l'outil courbe de chage. L'outil doit être ouvert! 
    Workbooks("Outil courbe de charge V STD - MR 090731.xls").Activate 
    Range("A4").Select 
    ActiveSheet.Paste 
 
' fermer fichier de courbe de charge 
    Application.CutCopyMode = False 
    Workbooks(Dateiname & ".csv").Close 
 
' copier-coller resultats HP 
    Range("E12:P12").Copy 
    Workbooks("090727 Modèle provisoire V1.0.xls").Activate 
    ActiveCell.Offset(i, 28).Select 
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Etc…

Je ne vais pas tout vous mettre. Elle est assez longue et finalement le passage intéressant et au début. Donc, lorsque le fichier n’existe pas, ca bug. J’ai essayé : On error resume next
mais la macro repart du début du document et non pas à la cellule suivante i. Comment faire pour qu’elle passe au nom de fichier suivant dans la liste et ainsi de suite à chaque fois qu’une erreur ce présente ?

D’avance merci pour votre soutien

Stéph