Bonjour à tous,
Mon code plante sur la ligne :
"Name CheminOrigine As CheminDestination & "\" & NouveauNom & "." & Extension"
Lorsque j'essaie de renommer des fichiers avec des caractères non reconnus du type "é,è,°, etc..." Voici un exemple de nom de fichier :
"Facture-N� FAC-127-202005986754.pdf"
Je suis désolé mais pour des raisons de confidentialité, je ne peux pas vous communiquer des exemples de fichiers réels qui sont en général des pdf non modifiables.
Le fonctionnement attendu :
On vérifie si le répertoire temporaire est vide, on télécharge un fichier à l'aide du lien. Le fichier porte les numéro 1 à n.
Une fois dans le répertoire temporaire, le fichier est renommé avec son identifiant (1 à n) présent dans le lien en conservant l'extension d'origine et il est ensuite déplacé dans le répertoire final et ainsi de suite.
Voici mon code complet ci-dessous :
Merci d'avance pour votre aide.
Ivan
Mon code plante sur la ligne :
"Name CheminOrigine As CheminDestination & "\" & NouveauNom & "." & Extension"
Lorsque j'essaie de renommer des fichiers avec des caractères non reconnus du type "é,è,°, etc..." Voici un exemple de nom de fichier :
"Facture-N� FAC-127-202005986754.pdf"
Je suis désolé mais pour des raisons de confidentialité, je ne peux pas vous communiquer des exemples de fichiers réels qui sont en général des pdf non modifiables.
Le fonctionnement attendu :
On vérifie si le répertoire temporaire est vide, on télécharge un fichier à l'aide du lien. Le fichier porte les numéro 1 à n.
Une fois dans le répertoire temporaire, le fichier est renommé avec son identifiant (1 à n) présent dans le lien en conservant l'extension d'origine et il est ensuite déplacé dans le répertoire final et ainsi de suite.
Voici mon code complet ci-dessous :
VB:
Sub telechargement()
Dim Identifiant As Long
Dim URLBase As String
Dim DownloadFolder As String
Dim DestinationFolder As String
Dim objShell As Object
Dim objIE As Object
Dim urlCible As String
' Le lien de base
URLBase = "https://le-lien-de-base="
' Spécifiez le dossier de destination temporaire (répertoire de téléchargement par défaut)
DownloadFolder = "C:\Vers\répertoire\temporaire\"
' Spécifiez le dossier de destination final
DestinationFolder = "C:\Vers\répertoire\final\"
' Crée le répertoire temporaire s'il n'existe pas
If Dir(DownloadFolder, vbDirectory) = "" Then
MkDir DownloadFolder
End If
' Spécifiez la plage d'identifiants des documents à télécharger (de 1 à n)
For Identifiant = 1 To 50000
' Vérifiez si le répertoire temporaire est vide
If Dir(DownloadFolder & "*.*") = "" Then
' Construit l'URL du document
Dim URL As String
URL = URLBase & Identifiant & "&Suite_du_lien_de_telechargement="
' Télécharge le fichier
ThisWorkbook.FollowHyperlink URL
' Attendre un court instant pour laisser le téléchargement se terminer
Application.Wait (Now + TimeValue("0:00:02"))
' Rechercher le fichier téléchargé dans le répertoire de téléchargement
Dim FileName As String
FileName = Dir(DownloadFolder & "*.*")
If FileName <> "" Then
' Renommer le fichier téléchargé avec l'identifiant
RenommerEtDeplacerFichier DownloadFolder & FileName, DestinationFolder, Identifiant
End If
End If
urlCible = URL
Set objIE = Nothing
Next Identifiant
Application.ScreenUpdating = True
End Sub
Sub RenommerEtDeplacerFichier(ByVal CheminOrigine As String, ByVal CheminDestination As String, ByVal NouveauNom As String)
Dim NomFichier As String
Dim Extension As String
Application.ScreenUpdating = False
' Extrait le nom du fichier et son extension
NomFichier = Dir(CheminOrigine)
Extension = Right(NomFichier, Len(NomFichier) - InStrRev(NomFichier, "."))
' Renomme le fichier avec le nouveau nom tout en conservant l'extension
Name CheminOrigine As CheminDestination & "\" & NouveauNom & "." & Extension
End Sub
Merci d'avance pour votre aide.
Ivan