renommer des fichiers en masse

Le
bastientot
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 à m@rina

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:=False, 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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
bastientot
Le #18691431
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


Circé
Le #18694971
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




bastientot
Le #18697821
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é
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 -


bastientot
Le #18700201
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é


> 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 -


bastientot
Le #18700391
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é
> > 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 -


Circé
Le #18700521
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é


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 -




Publicité
Poster une réponse
Anonyme