Besoin d'aide VBA renommer des fichier
Résolu
west-c
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
west-c Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
west-c Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Bonne année, et tout mes meilleurs voeux pour 2008.
Je dois fair un programme en vba sous Excel qui permet de copié et de renommer des fichiers (photos).
Je possède dans la colonne L les noms des photos, et dans la colonne M les nouveaux noms que je dois leur attribuées.
Ce dossier se trouve sur le résaux.
J'ai commencé quelque chose mais sa ne marche pas. Quelqu'un peut-il m'aider?
Ai-je utilisé la melleur méthode?
J'ai due fair bcp d'erreur je pense.
Je suis allé cocher dans Outils, Références, « Microsoft Scripting Runtime »
Sub renommer_photo()
'déclaration des variables
Dim ancien_nom As String 'va enregistrer l'ancien nom de la photo
Dim nouveau_nom As String 'va enregistrer le nouveau nom de la photo
Dim i As Integer
Dim dernligne As Integer 'cette variable va rechercher la derniere ligne du tableau
Dim j As Integer
Dim oFSO As Scripting.FileSystemObject
Dim oDrv As Scripting.Drive
Dim oFld As Folder
Dim oFl As Scripting.File
Sheets("Feuil1").Select
'recherche de la derniere ligne
i = 1
Cells(i, 12).Select
Do
i = i + 1
Loop Until Cells(i, 12) = "" And Cells(i + 1, 12) = "" And Cells(i + 2, 12) = ""
dernligne = i - 1
'Instanciation du FSO
Set oFSO = New Scripting.FileSystemObject
'enregistrement des noms (ancien et nouveau) de la photo en renomme les fichiers
For j = 2 To dernligne
ancien_nom = Cells(j, 12).Value & ".eps" '.eps est l'extansion de la photo
nouveau_nom = Cells(j, 13).Value & ".eps"
'Instanciation de l'objet File
If oFSO.FileExists("U:\Images2\" & ancien_nom) Then
Set oFl = oFSO.GetFile("U:\Images2\" & ancien_nom)
End If
'copie du fichier
oFl.Copy "U:\image_renomée2\" & nouveau_nom, True
Next j
End Sub
Merci pour votre aide!
Et encor bonne année !
Bonne année, et tout mes meilleurs voeux pour 2008.
Je dois fair un programme en vba sous Excel qui permet de copié et de renommer des fichiers (photos).
Je possède dans la colonne L les noms des photos, et dans la colonne M les nouveaux noms que je dois leur attribuées.
Ce dossier se trouve sur le résaux.
J'ai commencé quelque chose mais sa ne marche pas. Quelqu'un peut-il m'aider?
Ai-je utilisé la melleur méthode?
J'ai due fair bcp d'erreur je pense.
Je suis allé cocher dans Outils, Références, « Microsoft Scripting Runtime »
Sub renommer_photo()
'déclaration des variables
Dim ancien_nom As String 'va enregistrer l'ancien nom de la photo
Dim nouveau_nom As String 'va enregistrer le nouveau nom de la photo
Dim i As Integer
Dim dernligne As Integer 'cette variable va rechercher la derniere ligne du tableau
Dim j As Integer
Dim oFSO As Scripting.FileSystemObject
Dim oDrv As Scripting.Drive
Dim oFld As Folder
Dim oFl As Scripting.File
Sheets("Feuil1").Select
'recherche de la derniere ligne
i = 1
Cells(i, 12).Select
Do
i = i + 1
Loop Until Cells(i, 12) = "" And Cells(i + 1, 12) = "" And Cells(i + 2, 12) = ""
dernligne = i - 1
'Instanciation du FSO
Set oFSO = New Scripting.FileSystemObject
'enregistrement des noms (ancien et nouveau) de la photo en renomme les fichiers
For j = 2 To dernligne
ancien_nom = Cells(j, 12).Value & ".eps" '.eps est l'extansion de la photo
nouveau_nom = Cells(j, 13).Value & ".eps"
'Instanciation de l'objet File
If oFSO.FileExists("U:\Images2\" & ancien_nom) Then
Set oFl = oFSO.GetFile("U:\Images2\" & ancien_nom)
End If
'copie du fichier
oFl.Copy "U:\image_renomée2\" & nouveau_nom, True
Next j
End Sub
Merci pour votre aide!
Et encor bonne année !
A voir également:
- Besoin d'aide VBA renommer des fichier
- Fichier bin - Guide
- Renommer des fichiers en masse - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
26 réponses
Je suis allé voir la photo et le nom de la photo commence pas un espace
C'était peut-être celui du répertoire qui se terminait par un espace...
ce n'est pas moi qui est nommé les photos
Mais c'est toi qui m'avait déjà dit plus haut qu'il n'y avait pas d'espace. grrrr :-)
Pour recopier un fichier utilise FileCopy. Note que Name permet aussi de déplacer un fichier en le renommant
C'était peut-être celui du répertoire qui se terminait par un espace...
ce n'est pas moi qui est nommé les photos
Mais c'est toi qui m'avait déjà dit plus haut qu'il n'y avait pas d'espace. grrrr :-)
Pour recopier un fichier utilise FileCopy. Note que Name permet aussi de déplacer un fichier en le renommant
Oui dsl j'ai seulement verifié si il y avait un espace après mais c'est vrai que j'ai pas verifié si il y en avait un avant (sa me semblait logique qu'il y en ai pas).
Une derniere question, sais-tu comment je peut faire pour supprimer cet espace en trop a l'aide d'un code vba?
En tout cas merci bcp tu m'as bcp aidé!
Une derniere question, sais-tu comment je peut faire pour supprimer cet espace en trop a l'aide d'un code vba?
En tout cas merci bcp tu m'as bcp aidé!
pas testé :
rep$="u:\images2\"
a$= dir(rep$ & "*.*")
while a$<>""
if left$(a$=" ") then Name rep$ & a$ as rep$ & mid$(a$,2)
wend
rep$="u:\images2\"
a$= dir(rep$ & "*.*")
while a$<>""
if left$(a$=" ") then Name rep$ & a$ as rep$ & mid$(a$,2)
wend
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question