Déplacer des fichiers PDF de plusieurs dossier vers un seul dossier (script VBA)
Résolu
selrach75
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Déplacer des fichiers PDF de plusieurs dossier vers un seul dossier (script VBA)
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Impossible de supprimer un dossier - Guide
- Mettre un mot de passe sur un dossier - Guide
- Déplacer colonne excel - Guide
- Comment faire un dossier pdf - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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