Bonjour a tous,
Je poste sur le forum pour vous exposer une problématique que je rencontre avec une macro que j'ai réadaptée.
Son but final est de copier coller un certains nombre de fichiers d'un répertoire source a un répertoire de destination.
Cette partie la fonctionne.
Par contre, la macro génère une erreur a partir du moment où le fichier n'existe pas dans le répertoire source. La macro s’arrête donc et n'arrive pas a passer à la cellule du dessous.
J'ai bien essayé de faire une condition du style "si le fichier dans le répertoire source n'existe pas alors next sinon tu continues la macro" mais je ne suis pas arrivé à le faire fonctionner.
Voici ci dessous la macro utilisée :
En gros j'ai des noms de fichiers qui sont repris dans la plage A2:Axx (derniere ligne) et c'est la ou elle regarde la concordance entre le contenu de la cellule d'un coté et l'existence du fichier de l'autre dans le repertoire source.
Et la macro ne trouve pas a un moment le nom/fichier alors elle se met en erreur.
Pourriez vous m'éclairer sur ce point ?
Merci !
Je poste sur le forum pour vous exposer une problématique que je rencontre avec une macro que j'ai réadaptée.
Son but final est de copier coller un certains nombre de fichiers d'un répertoire source a un répertoire de destination.
Cette partie la fonctionne.
Par contre, la macro génère une erreur a partir du moment où le fichier n'existe pas dans le répertoire source. La macro s’arrête donc et n'arrive pas a passer à la cellule du dessous.
J'ai bien essayé de faire une condition du style "si le fichier dans le répertoire source n'existe pas alors next sinon tu continues la macro" mais je ne suis pas arrivé à le faire fonctionner.
Voici ci dessous la macro utilisée :
Code:
Sub copievf()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer
Dim NoLig As Long, DerLig As Long, Var As Variant
Set FL1 = Worksheets("Feuil1")
'Détermine la dernière ligne renseignée de la feuille de calculs
DerLig = Split(FL1.UsedRange.Address, "$")(4)
'Fixe le N° de la colonne à lire
NoCol = 1
'Utilisation du N° de ligne dans une boucle For ... Next
For NoLig = 2 To DerLig
Var = FL1.Cells(NoLig, NoCol)
'Pour tester : Affiche les variables dans la fenêtre Exécution de VBA
Debug.Print Var
Dim fso As Object, Src$, Dest$, Fich$
Set fso = CreateObject("Scripting.FileSystemObject")
Destination = FL1.Cells(NoLig, 3).Value
Src = ThisWorkbook.Path & "\"
Dest = Destination
Fich$ = Var & ".txt"
'MsgBox Src & Fich
'MsgBox Dest & Fich
fso.CopyFile Src & Fich, Dest & Fich
Next
Set FL1 = Nothing
End Sub
En gros j'ai des noms de fichiers qui sont repris dans la plage A2:Axx (derniere ligne) et c'est la ou elle regarde la concordance entre le contenu de la cellule d'un coté et l'existence du fichier de l'autre dans le repertoire source.
Et la macro ne trouve pas a un moment le nom/fichier alors elle se met en erreur.
Pourriez vous m'éclairer sur ce point ?
Merci !
Dernière édition: