Déplacer des fichiers PDF de plusieurs dossier vers un seul dossier (script VBA) [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 31 juillet 2020
Statut
Membre
Dernière intervention
19 août 2020
-
Messages postés
12223
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 septembre 2020
-
Bonjour,

Je rencontre un problème concernant le déplacement de fichiers (PDF) provenant de plusieurs dossiers (sous-dossiers) vers un dossier unique.

J'utilise VBA pour faire ce déplacement avec le script ci-dessous :

Sub CopieFichier()
 
'copier fichier (nom différent, emplacement différent)
Dim FichierOriginal As String
Dim FichierCopie As String
 
  Dim numero As Integer
    numero = 2 'Numéro de départ (correspond ici au n° de ligne et au n° de numérotation)
'Destination URL = "https://monserveur.net/sites/mon-site/Shared Documents/mon-dossier/test.txt"
' => il est nécessaire de le transformer de manière suivante:
 
    While numero <= 15000 'TANT QUE la variable numero est <= 12, la boucle est répétée
   
FichierOriginal = Cells(numero, 3)
FichierCopie = "C:\Users\Michel.Martin\OneDrive - Tesla\modely\Migration\fr\Batch_5\Batch_5_fr\" & Cells(numero, 1).Value
 
FileCopy FichierOriginal, FichierCopie
 
        numero = numero + 1 'Le numéro est augmenté de 1 à chaque boucle
    Wend
 
 
End Sub

Cependant je rencontre des erreurs à cause de caractères non pris en compte comme des lettres Russes.
Est-ce possible d'adapter le script pour "sauter" l'erreur et/ou ajouter un colonne dans mon fichier qui annonce si le fichier a bien été copier dans le dossier unique?

Merci d'avance

2 réponses

Messages postés
12223
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 septembre 2020
688
bonjour, merci d'utiliser les balises de code (et de préciser "basic pour du vba) quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Messages postés
12223
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 septembre 2020
688
une suggestion, non testée (qui ajoute ok ou NOK en colonne D):
Sub CopieFichier()
 
'copier fichier (nom différent, emplacement différent)
Dim FichierOriginal As String
Dim FichierCopie As String
Dim numero As Integer
    numero = 2 'Numéro de départ (correspond ici au n° de ligne et au n° de numérotation)
'Destination URL = "https://monserveur.net/sites/mon-site/Shared Documents/mon-dossier/test.txt"
' => il est nécessaire de le transformer de manière suivante:
 
On Error GoTo copienok
While numero <= 15000 'TANT QUE la variable numero est <= 12, la boucle est répétée
    FichierOriginal = Cells(numero, 3)
    FichierCopie = "C:\Users\Michel.Martin\OneDrive - Tesla\modely\Migration\fr\Batch_5\Batch_5_fr\" & Cells(numero, 1).Value
    FileCopy FichierOriginal, FichierCopie
    Cells(numero, 4) = "ok"
finboucle:
    numero = numero + 1 'Le numéro est augmenté de 1 à chaque boucle
Wend
On Error GoTo 0
Exit Sub
copienok:
Cells(numero, 4) = "NOK"
Resume finboucle
End Sub
Messages postés
2
Date d'inscription
vendredi 31 juillet 2020
Statut
Membre
Dernière intervention
19 août 2020

Merci yg_be ça fonctionne parfaitement ;)
Messages postés
12223
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 septembre 2020
688 >
Messages postés
2
Date d'inscription
vendredi 31 juillet 2020
Statut
Membre
Dernière intervention
19 août 2020

parfait, peux-tu alors marquer la discussion comme résolue?