Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

renommer des fichiers en masse

6 réponses
Avatar
bastientot
j'ai trouv=E9 une macro ( batchmacro) qui permet de lancer un macro sur
plusieurs fichier mais je n'arrive pas a construire une macro pour
renommer des fichiers.


Ce que je cherche a faire c'est ouvrir mes ficheirs les renommer avec
un prefixe TOTO_TOTO1_TOTO2_ LE NOM DU FICHIER et un sufixe de type
_V1r0.DOC sans renomer mon ficheir origine et sauvegarder le nouveau
ficheir dans le meme repertoire.


Merci de votre aide.




batchmacro :
Option Explicit
Public Sub BatchMacro()
' Ex=E9cute une macro par lot sur une s=E9rie de fichiers
' Version l=E9g=E8re pour WD2002+ seulement : utilise le FilePicker
' Anacoluthe pour le MPFW et la FAQ =E0 m@rina

Dim NomMacro As String
Dim vFichier As Variant
Dim RetourDL As Long
Dim NbFichOK As Integer

' 1- S=E9lection des fichiers
' Le FilePicker permet de s=E9lectionner le r=E9pertoire puis dedans
' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
Dim fd As FileDialog
Set fd =3D Application.FileDialog(msoFileDialogFilePicker)
fd.Title =3D "BATCH: S=E9lectionner les fichiers =E0 traiter"
fd.Filters.Add _
"Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
If fd.Show <> -1 Then Exit Sub
If MsgBox(fd.SelectedItems.Count & " documents =E0 traiter ", vbYesNo, _
"continuer ?") =3D vbNo Then Exit Sub

' 2- S=E9lection de la macro
MsgBox "Choisissez maintenant la macro" & vbCr & _
"et appuyez sur le bouton Ex=E9cuter"
With Application.Dialogs(wdDialogToolsMacro)
RetourDL =3D .Display
NomMacro =3D .Name
End With
If RetourDL <> 1 Then Exit Sub
If InStr(NomMacro, "Batch") <> 0 _
Then MsgBox "Pas Batchmacro de Batchmacro !": Exit Sub

' 3- Ex=E9cution de la macro dans tous les fichiers choisis
' la macro doit agir uniquement sur le document actif sans le fermer
For Each vFichier In fd.SelectedItems
On Error GoTo Suivant
Application.Documents.Open FileName:=3DvFichier, _
AddToRecentFiles:=3DFalse, ConfirmConversions:=3DTrue, _
Visible:=3DTrue
On Error GoTo Fermer
Application.Run (NomMacro)
NbFichOK =3D NbFichOK + 1
Fermer:
On Error GoTo Suivant
ActiveDocument.Close savechanges:=3DwdSaveChanges
Suivant:
On Error GoTo 0
Next vFichier

' 4 fin de la BatchMacro
MsgBox ("La macro " & NomMacro & " a =E9t=E9 ex=E9cut=E9e sur " _
& NbFichOK & " Fichiers")
Set fd =3D Nothing
End Sub

6 réponses

Avatar
bastientot
euh tout mes excuses j'ai oublié le "bonjour"


En reflechissans serait il possible de mettre me prefixe en varaible
et le saisir dans un msgbox ?

merci de votre aide.


On 17 fév, 14:41, wrote:
j'ai trouvé une macro ( batchmacro) qui permet de lancer un macro sur
plusieurs fichier mais je n'arrive pas a construire une macro pour
renommer des fichiers.

Ce que je cherche a faire c'est ouvrir mes ficheirs les renommer avec
un prefixe TOTO_TOTO1_TOTO2_  LE NOM DU FICHIER et un sufixe de type
_V1r0.DOC sans renomer mon ficheir origine et sauvegarder le nouveau
ficheir dans le meme repertoire.

Merci de votre aide.

batchmacro :
Option Explicit
Public Sub BatchMacro()
' Exécute une macro par lot sur une série de fichiers
' Version légère pour WD2002+ seulement : utilise le FilePicker
' Anacoluthe pour le MPFW et la FAQ à

Dim NomMacro As String
Dim vFichier As Variant
Dim RetourDL As Long
Dim NbFichOK As Integer

' 1- Sélection des fichiers
' Le FilePicker permet de sélectionner le répertoire puis dedans
' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
    fd.Title = "BATCH: Sélectionner les fichiers à traiter"
    fd.Filters.Add _
    "Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
If fd.Show <> -1 Then Exit Sub
If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYesNo, _
   "continuer ?") = vbNo Then Exit Sub

' 2- Sélection de la macro
MsgBox "Choisissez maintenant la macro" & vbCr & _
"et appuyez sur le bouton Exécuter"
With Application.Dialogs(wdDialogToolsMacro)
     RetourDL = .Display
     NomMacro = .Name
End With
If RetourDL <> 1 Then Exit Sub
If InStr(NomMacro, "Batch") <> 0 _
   Then MsgBox "Pas Batchmacro de Batchmacro !": Exit Sub

' 3- Exécution de la macro dans tous les fichiers choisis
' la macro doit agir uniquement sur le document actif sans le fermer
For Each vFichier In fd.SelectedItems
    On Error GoTo Suivant
    Application.Documents.Open FileName:=vFichier, _
    AddToRecentFiles:úlse, ConfirmConversions:=True, _
    Visible:=True
    On Error GoTo Fermer
    Application.Run (NomMacro)
    NbFichOK = NbFichOK + 1
Fermer:
    On Error GoTo Suivant
    ActiveDocument.Close savechanges:=wdSaveChanges
Suivant:
    On Error GoTo 0
Next vFichier

' 4 fin de la BatchMacro
MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
& NbFichOK & " Fichiers")
Set fd = Nothing
End Sub


Avatar
Circé
Bonjour,

La très fameuse batchmacro d'anacoluthe sert à tout ! Elle sert à
répéter une macro qui fonctionne sur un fichier.
Donc, ce n'est pas sur cette macro qu'il faut se pencher mais sur la
macro qui va changer le nom du fichier.

par exemple cette macro demande de saisir le préfixe, puis enregistre
le document actif en ajoutant le préfixe entré dans l'inputbox, plus le
suffixe en dur.

Sub Macro4()
Dim préfixe

préfixe = InputBox("quel préfixe ?")
ActiveDocument.SaveAs FileName:=préfixe & ActiveDocument.Name &
"suffixe.doc"
End Sub


a utilisé son clavier pour écrire :
euh tout mes excuses j'ai oublié le "bonjour"


En reflechissans serait il possible de mettre me prefixe en varaible
et le saisir dans un msgbox ?

merci de votre aide.


On 17 fév, 14:41, wrote:
j'ai trouvé une macro ( batchmacro) qui permet de lancer un macro sur
plusieurs fichier mais je n'arrive pas a construire une macro pour
renommer des fichiers.

Ce que je cherche a faire c'est ouvrir mes ficheirs les renommer avec
un prefixe TOTO_TOTO1_TOTO2_  LE NOM DU FICHIER et un sufixe de type
_V1r0.DOC sans renomer mon ficheir origine et sauvegarder le nouveau
ficheir dans le meme repertoire.

Merci de votre aide.

batchmacro :
Option Explicit
Public Sub BatchMacro()
' Exécute une macro par lot sur une série de fichiers
' Version légère pour WD2002+ seulement : utilise le FilePicker
' Anacoluthe pour le MPFW et la FAQ à

Dim NomMacro As String
Dim vFichier As Variant
Dim RetourDL As Long
Dim NbFichOK As Integer

' 1- Sélection des fichiers
' Le FilePicker permet de sélectionner le répertoire puis dedans
' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
    fd.Title = "BATCH: Sélectionner les fichiers à traiter"
    fd.Filters.Add _
    "Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
If fd.Show <> -1 Then Exit Sub
If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYesNo, _
   "continuer ?") = vbNo Then Exit Sub

' 2- Sélection de la macro
MsgBox "Choisissez maintenant la macro" & vbCr & _
"et appuyez sur le bouton Exécuter"
With Application.Dialogs(wdDialogToolsMacro)
     RetourDL = .Display
     NomMacro = .Name
End With
If RetourDL <> 1 Then Exit Sub
If InStr(NomMacro, "Batch") <> 0 _
   Then MsgBox "Pas Batchmacro de Batchmacro !": Exit Sub

' 3- Exécution de la macro dans tous les fichiers choisis
' la macro doit agir uniquement sur le document actif sans le fermer
For Each vFichier In fd.SelectedItems
    On Error GoTo Suivant
    Application.Documents.Open FileName:=vFichier, _
    AddToRecentFiles:úlse, ConfirmConversions:=True, _
    Visible:=True
    On Error GoTo Fermer
    Application.Run (NomMacro)
    NbFichOK = NbFichOK + 1
Fermer:
    On Error GoTo Suivant
    ActiveDocument.Close savechanges:=wdSaveChanges
Suivant:
    On Error GoTo 0
Next vFichier

' 4 fin de la BatchMacro
MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
& NbFichOK & " Fichiers")
Set fd = Nothing
End Sub




Avatar
bastientot
Bonjour,

grand merci mais j'ai encore 1 petit question j'aimerais que le sufixe
su possitionne avant mon ".doc" existant et non apres.

une idée pour faire cela ?



On 17 fév, 20:46, Circé wrote:
Bonjour,

La très fameuse batchmacro d'anacoluthe sert à tout ! Elle sert à
répéter une macro qui fonctionne sur un fichier.
Donc, ce n'est pas sur cette macro qu'il faut se pencher mais sur la
macro qui va changer le nom du fichier.

par exemple cette macro demande de saisir le préfixe, puis enregistre
le document actif en ajoutant le préfixe entré dans l'inputbox, plus le
suffixe en dur.

Sub Macro4()
Dim préfixe

préfixe = InputBox("quel préfixe ?")
ActiveDocument.SaveAs FileName:=préfixe & ActiveDocument.Name &
"suffixe.doc"
End Sub

a utilisé son clavier pour écrire :



> euh tout mes excuses j'ai oublié le "bonjour"

> En reflechissans serait il possible de mettre me prefixe en varaible
> et le saisir dans un msgbox ?

> merci de votre aide.

> On 17 fév, 14:41, wrote:
>> j'ai trouvé une macro ( batchmacro) qui permet de lancer un macro su r
>> plusieurs fichier mais je n'arrive pas a construire une macro pour
>> renommer des fichiers.

>> Ce que je cherche a faire c'est ouvrir mes ficheirs les renommer avec
>> un prefixe TOTO_TOTO1_TOTO2_  LE NOM DU FICHIER et un sufixe de type
>> _V1r0.DOC sans renomer mon ficheir origine et sauvegarder le nouveau
>> ficheir dans le meme repertoire.

>> Merci de votre aide.

>> batchmacro :
>> Option Explicit
>> Public Sub BatchMacro()
>> ' Exécute une macro par lot sur une série de fichiers
>> ' Version légère pour WD2002+ seulement : utilise le FilePicker
>> ' Anacoluthe pour le MPFW et la FAQ à

>> Dim NomMacro As String
>> Dim vFichier As Variant
>> Dim RetourDL As Long
>> Dim NbFichOK As Integer

>> ' 1- Sélection des fichiers
>> ' Le FilePicker permet de sélectionner le répertoire puis dedans
>> ' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
>> Dim fd As FileDialog
>> Set fd = Application.FileDialog(msoFileDialogFilePicker)
>>     fd.Title = "BATCH: Sélectionner les fichiers à traiter"
>>     fd.Filters.Add _
>>     "Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
>> If fd.Show <> -1 Then Exit Sub
>> If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYesNo, _
>>    "continuer ?") = vbNo Then Exit Sub

>> ' 2- Sélection de la macro
>> MsgBox "Choisissez maintenant la macro" & vbCr & _
>> "et appuyez sur le bouton Exécuter"
>> With Application.Dialogs(wdDialogToolsMacro)
>>      RetourDL = .Display
>>      NomMacro = .Name
>> End With
>> If RetourDL <> 1 Then Exit Sub
>> If InStr(NomMacro, "Batch") <> 0 _
>>    Then MsgBox "Pas Batchmacro de Batchmacro !": Exit Sub

>> ' 3- Exécution de la macro dans tous les fichiers choisis
>> ' la macro doit agir uniquement sur le document actif sans le fermer
>> For Each vFichier In fd.SelectedItems
>>     On Error GoTo Suivant
>>     Application.Documents.Open FileName:=vFichier, _
>>     AddToRecentFiles:úlse, ConfirmConversions:=True, _
>>     Visible:=True
>>     On Error GoTo Fermer
>>     Application.Run (NomMacro)
>>     NbFichOK = NbFichOK + 1
>> Fermer:
>>     On Error GoTo Suivant
>>     ActiveDocument.Close savechanges:=wdSaveChanges
>> Suivant:
>>     On Error GoTo 0
>> Next vFichier

>> ' 4 fin de la BatchMacro
>> MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
>> & NbFichOK & " Fichiers")
>> Set fd = Nothing
>> End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
bastientot
Re bonjour,

bon ben ,,,, je ne trouve pas comment passer juste le nom de mon
fichier mais sans l'extention pour "ActiveDocument.Name".

une idée ? merci de votre aide.


On 18 fév, 07:15, wrote:
Bonjour,

grand merci mais j'ai encore 1 petit question j'aimerais que le sufixe
su possitionne avant mon ".doc" existant et non apres.

 une idée pour faire cela ?

On 17 fév, 20:46, Circé wrote:



> Bonjour,

> La très fameuse batchmacro d'anacoluthe sert à tout ! Elle sert à
> répéter une macro qui fonctionne sur un fichier.
> Donc, ce n'est pas sur cette macro qu'il faut se pencher mais sur la
> macro qui va changer le nom du fichier.

> par exemple cette macro demande de saisir le préfixe, puis enregistre
> le document actif en ajoutant le préfixe entré dans l'inputbox, plu s le
> suffixe en dur.

> Sub Macro4()
> Dim préfixe

> préfixe = InputBox("quel préfixe ?")
> ActiveDocument.SaveAs FileName:=préfixe & ActiveDocument.Name &
> "suffixe.doc"
> End Sub

> a utilisé son clavier pour écrire :

> > euh tout mes excuses j'ai oublié le "bonjour"

> > En reflechissans serait il possible de mettre me prefixe en varaible
> > et le saisir dans un msgbox ?

> > merci de votre aide.

> > On 17 fév, 14:41, wrote:
> >> j'ai trouvé une macro ( batchmacro) qui permet de lancer un macro sur
> >> plusieurs fichier mais je n'arrive pas a construire une macro pour
> >> renommer des fichiers.

> >> Ce que je cherche a faire c'est ouvrir mes ficheirs les renommer ave c
> >> un prefixe TOTO_TOTO1_TOTO2_  LE NOM DU FICHIER et un sufixe de ty pe
> >> _V1r0.DOC sans renomer mon ficheir origine et sauvegarder le nouveau
> >> ficheir dans le meme repertoire.

> >> Merci de votre aide.

> >> batchmacro :
> >> Option Explicit
> >> Public Sub BatchMacro()
> >> ' Exécute une macro par lot sur une série de fichiers
> >> ' Version légère pour WD2002+ seulement : utilise le FilePicker
> >> ' Anacoluthe pour le MPFW et la FAQ à

> >> Dim NomMacro As String
> >> Dim vFichier As Variant
> >> Dim RetourDL As Long
> >> Dim NbFichOK As Integer

> >> ' 1- Sélection des fichiers
> >> ' Le FilePicker permet de sélectionner le répertoire puis dedans
> >> ' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
> >> Dim fd As FileDialog
> >> Set fd = Application.FileDialog(msoFileDialogFilePicker)
> >>     fd.Title = "BATCH: Sélectionner les fichiers à traiter "
> >>     fd.Filters.Add _
> >>     "Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
> >> If fd.Show <> -1 Then Exit Sub
> >> If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYesN o, _
> >>    "continuer ?") = vbNo Then Exit Sub

> >> ' 2- Sélection de la macro
> >> MsgBox "Choisissez maintenant la macro" & vbCr & _
> >> "et appuyez sur le bouton Exécuter"
> >> With Application.Dialogs(wdDialogToolsMacro)
> >>      RetourDL = .Display
> >>      NomMacro = .Name
> >> End With
> >> If RetourDL <> 1 Then Exit Sub
> >> If InStr(NomMacro, "Batch") <> 0 _
> >>    Then MsgBox "Pas Batchmacro de Batchmacro !": Exit Sub

> >> ' 3- Exécution de la macro dans tous les fichiers choisis
> >> ' la macro doit agir uniquement sur le document actif sans le fermer
> >> For Each vFichier In fd.SelectedItems
> >>     On Error GoTo Suivant
> >>     Application.Documents.Open FileName:=vFichier, _
> >>     AddToRecentFiles:úlse, ConfirmConversions:=True, _
> >>     Visible:=True
> >>     On Error GoTo Fermer
> >>     Application.Run (NomMacro)
> >>     NbFichOK = NbFichOK + 1
> >> Fermer:
> >>     On Error GoTo Suivant
> >>     ActiveDocument.Close savechanges:=wdSaveChanges
> >> Suivant:
> >>     On Error GoTo 0
> >> Next vFichier

> >> ' 4 fin de la BatchMacro
> >> MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
> >> & NbFichOK & " Fichiers")
> >> Set fd = Nothing
> >> End Sub- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
bastientot
encore moi mais cette fois j'ai trouvé la solution euh pas tout seul
lol en surfant sur le net

merci encore de votre aide.


voici c que j'ai trouvé


sub nonsansext
'nom de fichier sans extension
Nom = ActiveDocument.Name
t = Len(Nom)
Nom = Mid(Nom, 1, t - 4)
msgbox nom
end sub


On 18 fév, 12:36, wrote:
Re bonjour,

bon ben ,,,, je ne trouve pas comment passer juste le nom de mon
fichier mais sans l'extention pour "ActiveDocument.Name".

une idée ? merci de votre aide.

On 18 fév, 07:15, wrote:



> Bonjour,

> grand merci mais j'ai encore 1 petit question j'aimerais que le sufixe
> su possitionne avant mon ".doc" existant et non apres.

>  une idée pour faire cela ?

> On 17 fév, 20:46, Circé wrote:

> > Bonjour,

> > La très fameuse batchmacro d'anacoluthe sert à tout ! Elle sert à
> > répéter une macro qui fonctionne sur un fichier.
> > Donc, ce n'est pas sur cette macro qu'il faut se pencher mais sur la
> > macro qui va changer le nom du fichier.

> > par exemple cette macro demande de saisir le préfixe, puis enregist re
> > le document actif en ajoutant le préfixe entré dans l'inputbox, p lus le
> > suffixe en dur.

> > Sub Macro4()
> > Dim préfixe

> > préfixe = InputBox("quel préfixe ?")
> > ActiveDocument.SaveAs FileName:=préfixe & ActiveDocument.Name &
> > "suffixe.doc"
> > End Sub

> > a utilisé son clavier pour écrire :

> > > euh tout mes excuses j'ai oublié le "bonjour"

> > > En reflechissans serait il possible de mettre me prefixe en varaibl e
> > > et le saisir dans un msgbox ?

> > > merci de votre aide.

> > > On 17 fév, 14:41, wrote:
> > >> j'ai trouvé une macro ( batchmacro) qui permet de lancer un macr o sur
> > >> plusieurs fichier mais je n'arrive pas a construire une macro pour
> > >> renommer des fichiers.

> > >> Ce que je cherche a faire c'est ouvrir mes ficheirs les renommer a vec
> > >> un prefixe TOTO_TOTO1_TOTO2_  LE NOM DU FICHIER et un sufixe de type
> > >> _V1r0.DOC sans renomer mon ficheir origine et sauvegarder le nouve au
> > >> ficheir dans le meme repertoire.

> > >> Merci de votre aide.

> > >> batchmacro :
> > >> Option Explicit
> > >> Public Sub BatchMacro()
> > >> ' Exécute une macro par lot sur une série de fichiers
> > >> ' Version légère pour WD2002+ seulement : utilise le FilePicke r
> > >> ' Anacoluthe pour le MPFW et la FAQ à

> > >> Dim NomMacro As String
> > >> Dim vFichier As Variant
> > >> Dim RetourDL As Long
> > >> Dim NbFichOK As Integer

> > >> ' 1- Sélection des fichiers
> > >> ' Le FilePicker permet de sélectionner le répertoire puis deda ns
> > >> ' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
> > >> Dim fd As FileDialog
> > >> Set fd = Application.FileDialog(msoFileDialogFilePicker)
> > >>     fd.Title = "BATCH: Sélectionner les fichiers à trait er"
> > >>     fd.Filters.Add _
> > >>     "Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
> > >> If fd.Show <> -1 Then Exit Sub
> > >> If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYe sNo, _
> > >>    "continuer ?") = vbNo Then Exit Sub

> > >> ' 2- Sélection de la macro
> > >> MsgBox "Choisissez maintenant la macro" & vbCr & _
> > >> "et appuyez sur le bouton Exécuter"
> > >> With Application.Dialogs(wdDialogToolsMacro)
> > >>      RetourDL = .Display
> > >>      NomMacro = .Name
> > >> End With
> > >> If RetourDL <> 1 Then Exit Sub
> > >> If InStr(NomMacro, "Batch") <> 0 _
> > >>    Then MsgBox "Pas Batchmacro de Batchmacro !": Exit Sub

> > >> ' 3- Exécution de la macro dans tous les fichiers choisis
> > >> ' la macro doit agir uniquement sur le document actif sans le ferm er
> > >> For Each vFichier In fd.SelectedItems
> > >>     On Error GoTo Suivant
> > >>     Application.Documents.Open FileName:=vFichier, _
> > >>     AddToRecentFiles:úlse, ConfirmConversions:=True, _
> > >>     Visible:=True
> > >>     On Error GoTo Fermer
> > >>     Application.Run (NomMacro)
> > >>     NbFichOK = NbFichOK + 1
> > >> Fermer:
> > >>     On Error GoTo Suivant
> > >>     ActiveDocument.Close savechanges:=wdSaveChanges
> > >> Suivant:
> > >>     On Error GoTo 0
> > >> Next vFichier

> > >> ' 4 fin de la BatchMacro
> > >> MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
> > >> & NbFichOK & " Fichiers")
> > >> Set fd = Nothing
> > >> End Sub- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Circé
Bonjour,

Effectivement, à ma connaissance, il n'y a pas de fonction pour
récupérer le nom existant sans l'extension. Il faut donc extraire le
nom sans l'extension.

Esaie ça :

Sub changt_nom()
Dim préfixe As String, position_point As Integer, nom As String

nom = ActiveDocument.Name
position_point = InStrRev(nom, ".")
nom = Left(nom, position_point - 1)
préfixe = InputBox("quel préfixe ?")

ActiveDocument.SaveAs FileName:=préfixe & nom & "suffixe.doc"
End Sub


Circé
http://faqword.fr

a exposé le 18/02/2009 :
Re bonjour,

bon ben ,,,, je ne trouve pas comment passer juste le nom de mon
fichier mais sans l'extention pour "ActiveDocument.Name".

une idée ? merci de votre aide.


On 18 fév, 07:15, wrote:
Bonjour,

grand merci mais j'ai encore 1 petit question j'aimerais que le sufixe
su possitionne avant mon ".doc" existant et non apres.

 une idée pour faire cela ?

On 17 fév, 20:46, Circé wrote:



Bonjour,



La très fameuse batchmacro d'anacoluthe sert à tout ! Elle sert à
répéter une macro qui fonctionne sur un fichier.
Donc, ce n'est pas sur cette macro qu'il faut se pencher mais sur la
macro qui va changer le nom du fichier.
par exemple cette macro demande de saisir le préfixe, puis enregistre
le document actif en ajoutant le préfixe entré dans l'inputbox, plus le
suffixe en dur.



Sub Macro4()
Dim préfixe



préfixe = InputBox("quel préfixe ?")
ActiveDocument.SaveAs FileName:=préfixe & ActiveDocument.Name &
"suffixe.doc"
End Sub



a utilisé son clavier pour écrire :
euh tout mes excuses j'ai oublié le "bonjour"
En reflechissans serait il possible de mettre me prefixe en varaible
et le saisir dans un msgbox ?





merci de votre aide.





On 17 fév, 14:41, wrote:
j'ai trouvé une macro ( batchmacro) qui permet de lancer un macro sur
plusieurs fichier mais je n'arrive pas a construire une macro pour
renommer des fichiers.







Ce que je cherche a faire c'est ouvrir mes ficheirs les renommer avec
un prefixe TOTO_TOTO1_TOTO2_  LE NOM DU FICHIER et un sufixe de type
_V1r0.DOC sans renomer mon ficheir origine et sauvegarder le nouveau
ficheir dans le meme repertoire.







Merci de votre aide.







batchmacro :
Option Explicit
Public Sub BatchMacro()
' Exécute une macro par lot sur une série de fichiers
' Version légère pour WD2002+ seulement : utilise le FilePicker
' Anacoluthe pour le MPFW et la FAQ à
Dim NomMacro As String
Dim vFichier As Variant
Dim RetourDL As Long
Dim NbFichOK As Integer







' 1- Sélection des fichiers
' Le FilePicker permet de sélectionner le répertoire puis dedans
' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
    fd.Title = "BATCH: Sélectionner les fichiers à traiter"
    fd.Filters.Add _
    "Documents", "*.doc; *.dot; *.html; *.htm; *.rtf", 1
If fd.Show <> -1 Then Exit Sub
If MsgBox(fd.SelectedItems.Count & " documents à traiter ", vbYesNo, _
   "continuer ?") = vbNo Then Exit Sub
' 2- Sélection de la macro
MsgBox "Choisissez maintenant la macro" & vbCr & _
"et appuyez sur le bouton Exécuter"
With Application.Dialogs(wdDialogToolsMacro)
     RetourDL = .Display
     NomMacro = .Name
End With
If RetourDL <> 1 Then Exit Sub
If InStr(NomMacro, "Batch") <> 0 _
   Then MsgBox "Pas Batchmacro de Batchmacro !": Exit Sub
' 3- Exécution de la macro dans tous les fichiers choisis
' la macro doit agir uniquement sur le document actif sans le fermer
For Each vFichier In fd.SelectedItems
    On Error GoTo Suivant
    Application.Documents.Open FileName:=vFichier, _
    AddToRecentFiles:úlse, ConfirmConversions:=True, _
    Visible:=True
    On Error GoTo Fermer
    Application.Run (NomMacro)
    NbFichOK = NbFichOK + 1
Fermer:
    On Error GoTo Suivant
    ActiveDocument.Close savechanges:=wdSaveChanges
Suivant:
    On Error GoTo 0
Next vFichier







' 4 fin de la BatchMacro
MsgBox ("La macro " & NomMacro & " a été exécutée sur " _
& NbFichOK & " Fichiers")
Set fd = Nothing
End Sub- Masquer le texte des messages précédents -




- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -



- Afficher le texte des messages précédents -