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

Résolu/Fermé
selrach75 Messages postés 2 Date d'inscription vendredi 31 juillet 2020 Statut Membre Dernière intervention 19 août 2020 - 31 juil. 2020 à 14:43
yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 - 19 août 2020 à 16:06
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
A voir également:

2 réponses

yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
31 juil. 2020 à 15:00
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
0
yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
31 juil. 2020 à 15:34
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
0
selrach75 Messages postés 2 Date d'inscription vendredi 31 juillet 2020 Statut Membre Dernière intervention 19 août 2020
19 août 2020 à 15:41
Merci yg_be ça fonctionne parfaitement ;)
0
yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > selrach75 Messages postés 2 Date d'inscription vendredi 31 juillet 2020 Statut Membre Dernière intervention 19 août 2020
19 août 2020 à 16:06
parfait, peux-tu alors marquer la discussion comme résolue?
0