[VBA Excel] Renommer un fichier Word sous Exc
Résolu
mario90
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
touco -
touco -
Bonjour,
A partir de certaines informations présentes dans une feuille de calcul Excel, je souhaiterai renommer un fichier Word dont le nom sera conditionné par les infos présentes dans la feuille Excel.
Par exemple :
La cellule A1 contient la valeur "145",
en cliquant sur un bouton, je souhaiterai que mon fichier Modèle.doc soit renommé en Modèle_145.doc.
Merci d'avance
A partir de certaines informations présentes dans une feuille de calcul Excel, je souhaiterai renommer un fichier Word dont le nom sera conditionné par les infos présentes dans la feuille Excel.
Par exemple :
La cellule A1 contient la valeur "145",
en cliquant sur un bouton, je souhaiterai que mon fichier Modèle.doc soit renommé en Modèle_145.doc.
Merci d'avance
A voir également:
- [VBA Excel] Renommer un fichier Word sous Exc
- Word et excel gratuit - Guide
- Fichier bin - Guide
- Word 2013 - Télécharger - Traitement de texte
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
1 réponse
Dans excel, cocher Référence : microsoft scripting runtime
voila un code qui renome des fichiers sans les ouvrir...
Sub chgtnom()
Dim oFSO As Scripting.FileSystemObject
Dim oFld As Scripting.Folder
Dim oFl As File
'Instanciation du FSO
Set oFSO = New Scripting.FileSystemObject
repertoire = "D:\repertoire\"
' valeur 145
valeur = activesheet.cells(1,1).value
' Verifie que le répertoire existe
If oFSO.FolderExists(repertoire) Then
Else
i = MsgBox("Le repertoire est inexistant" & Chr(10) & "Verifier le chemin", vbOKOnly, "Et non !")
Exit Sub
End If
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx recherche et traitement des fichiers xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Accède au répertoire du départ de recherche
Set oFld = oFSO.GetFolder(repertoire)
' pour chaque fichier ...
For Each oFl In oFld.Files
' de type DOC
If UCase(Right(oFl.Name, 3)) = "DOC" Then
' pas déja traité
If InStr(oFl.Name, right(str(valeur),len(str(valeur))-1)) <> 0 Then
oFl.Name = Left(oFl.Name,len(oFl.name)-4) & "_" & right(str(valeur), len(str(valeur))-1) & ".doc"
End If
End If
Next
End Sub
Voila qui devrait t'aider !
voila un code qui renome des fichiers sans les ouvrir...
Sub chgtnom()
Dim oFSO As Scripting.FileSystemObject
Dim oFld As Scripting.Folder
Dim oFl As File
'Instanciation du FSO
Set oFSO = New Scripting.FileSystemObject
repertoire = "D:\repertoire\"
' valeur 145
valeur = activesheet.cells(1,1).value
' Verifie que le répertoire existe
If oFSO.FolderExists(repertoire) Then
Else
i = MsgBox("Le repertoire est inexistant" & Chr(10) & "Verifier le chemin", vbOKOnly, "Et non !")
Exit Sub
End If
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx recherche et traitement des fichiers xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Accède au répertoire du départ de recherche
Set oFld = oFSO.GetFolder(repertoire)
' pour chaque fichier ...
For Each oFl In oFld.Files
' de type DOC
If UCase(Right(oFl.Name, 3)) = "DOC" Then
' pas déja traité
If InStr(oFl.Name, right(str(valeur),len(str(valeur))-1)) <> 0 Then
oFl.Name = Left(oFl.Name,len(oFl.name)-4) & "_" & right(str(valeur), len(str(valeur))-1) & ".doc"
End If
End If
Next
End Sub
Voila qui devrait t'aider !