Macro enregistrer

adi399

XLDnaute Occasionnel
Bonjour à tous,
Problème:

je voudrais que lorsque la personne clique sur un bouton, l'écran d'enregistrer sous apparraisse dans un dossier défini, qui contient lui même plusieurs autres dossiers que viendrai selectionner manuellement la personne pour enregistrer.

Je n'arrive pas à créer une macro en automatique pour la modifier ensuite... :s
Merci d'avance de votre aide !
@+
 
Dernière édition:

RENAUDER

Nous a quitté
Repose en paix
Re : macro enregistrer

Bonjour,

Essaies ceci
Code:
Sub EnregistrerAvecVersion()
    ChDir "C:\Documents and Settings\ab\Bureau\Copie de ESSAI"
    Nomfile = ActiveWorkbook.Name
    If Nomfile Like "*Version*" Then
        NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 18)
    Else
        NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
    End If
    FileSVG = Application.GetSaveAsFilename(InitialFileName:=NomCourt & _
        "-Version " & Format(Date, "dd-mm"), _
        fileFilter:="Fichiers Excel (*.xls), *.xls", Title:="Enregistrement")
    ActiveWorkbook.SaveAs Filename:=FileSVG, FileFormat:=xlNormal, Password:="", _
        WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
 

WDAndCo

XLDnaute Impliqué
Re : macro enregistrer

Bonsoir le Forum
Code:
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
je pense que si on modifie le 4 en 12 cela doit fonctionner !
a+
Dominique

Edit : Pardon je n'avait pas vu votre réponse !
 
Dernière édition:

adi399

XLDnaute Occasionnel
Re : macro enregistrer

Merci pour vos réponses,
Le code me donne ceci:
-fichier1-version 26-10
-fichier1-version 27-10

Donc mon précédent problème est bien solutionné. par contre, il va m'arriver régulièrement d'enregistrer 2 fois ou plus le fichier dans la même journée, et la ça bloque car il me demande d'écraser le précédent...

je souhaiterais par exemple:
-fichier1-version 26-10
-fichier1-version 27-10
-fichier1-version 27-10 -2
-fichier1-version 27-10 -3
-fichier1-version 28-10
 

adi399

XLDnaute Occasionnel
Re : macro enregistrer

Bonjour Pierrot93!,

Lorsque je modifie la ligne une autre erreur apparaît mais je n'ai pas l'impression qu'il y a un rapport avec la modif :

Sub EnregistrerAvecVersion()
ChDir "C:\Documents and Settings\abulabois\Bureau\Copie de ESSAI"
Nomfile = ActiveWorkbook.Name
If Nomfile Like "*Version*" Then
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 18)
Else
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
End If
FileSVG = Application.GetSaveAsFilename(InitialFileName:=NomCourt & _
"-Version " & Format(Now, "dd-mm_hh:mm"), _
fileFilter:="Fichiers Excel (*.xls), *.xls", Title:="Enregistrement")
ActiveWorkbook.SaveAs Filename:=FileSVG, FileFormat:=xlNormal, Password:="", _
WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Erreur 1004 dans :
ActiveWorkbook.SaveAs Filename:=FileSVG, FileFormat:=xlNormal, Password:="", _
WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

Autre question:
le code permet d'afficher le nom cour mais est-ce possible de l'avoir en entier?
 

adi399

XLDnaute Occasionnel
Re : macro enregistrer

Le code me donne les enregistrements suivant:

Classeur1-version 27-10_0851
Classeur1-vers-version 27-10_0852
Classeur1-vers-vers-versions 27-10_0853

Comment éviter l'affichage de "vers" à chaque fois?

mon code actuel:(en cas d'erreur de ma part...)

Sub EnregistrerAvecVersion()
ChDir "C:\Documents and Settings\ab\Bureau\Copie de ESSAI"
Nomfile = ActiveWorkbook.Name
If Nomfile Like "*Version*" Then
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 18)
Else
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
End If
FileSVG = Application.GetSaveAsFilename(InitialFileName:=NomCourt & _
"-Version " & Format(Now, "dd-mm_hhmm"), _
fileFilter:="Fichiers Excel (*.xls), *.xls", Title:="Enregistrement")
ActiveWorkbook.SaveAs Filename:=FileSVG, FileFormat:=xlNormal, Password:="", _
WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
 

adi399

XLDnaute Occasionnel
Re : macro enregistrer

C'est presque ça! en modifiant le 18 par 22, mes enregistrements donne ceci:

Classeur1-Version 27-10_0924
Classeur1--Version 27-10_0925
Classeur1---Version 27-10_0926
Classeur1----Version 27-10_0927

Seul le tiret pose problème.

Mon code:

Sub EnregistrerAvecVersion()
ChDir "C:\Documents and Settings\ab\Bureau\Copie de ESSAI"
Nomfile = ActiveWorkbook.Name
If Nomfile Like "*Version*" Then
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 22)
Else
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
End If
FileSVG = Application.GetSaveAsFilename(InitialFileName:=NomCourt & _
"-Version " & Format(Now, "dd-mm_hhmm"), _
fileFilter:="Fichiers Excel (*.xls), *.xls", Title:="Enregistrement")
ActiveWorkbook.SaveAs Filename:=FileSVG, FileFormat:=xlNormal, Password:="", _
WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
 

RENAUDER

Nous a quitté
Repose en paix
Re : macro enregistrer

Bonjour,

Je lis le nom du fichier ouvert (NomFile)
Si le programme trouve une chaîne de caractères contenant "Version" alors il doit retirer la partie "-Version 26-10_0924.xls" pour la remplacer par la nouvelle date, heure et extension, soit 23 caractères.
Exemple:
Nom du fichier ouvert: Suivi travaux-Version 26-10_0924.xls ce qui donne en retranchant 23 caractères: Suivi travaux et ensuite il suffit de rajouter à "Suivi travaux" le libellé -Version 27-10_1022.xls
S'il ne trouve pas de chaîne de caractères contenant "Version", il ajoute simplement -Version 27-10_1022.xls
 

adi399

XLDnaute Occasionnel
Re : macro enregistrer

Ok merci pour les explications!
Cependant mon problème de tirets superflus est toujours d'actualité... je n'arrive pas à mes fins et ce, même en modifiant le nombre de caractères.

Classeur1-Version 27-10_0924
Classeur1--Version 27-10_0925
Classeur1---Version 27-10_0926
Classeur1----Version 27-10_0927
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 175
Membres
103 152
dernier inscrit
Karibu