Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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:

Pierrot93

XLDnaute Barbatruc
Re : macro enregistrer

Re,

allez, peut être en modifiant comme ceci...

Code:
If Nomfile Like "*Version*" Then
    NomCourt = Split(ActiveWorkbook.Name, "-")(0)
Else
NomCourt = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
End If
 

RENAUDER

Nous a quitté
Repose en paix
Re : [Résolu]macro enregistrer

Bonjour,

La solution de Pierrot s'affranchit du nombre de caractères à retrancher sauf qu'il ne faut pas dans ton nom de fichier avoir un tiret avant celui de Version.
Exemple à bannir par exemple un tiret entre Suivi et travaux:
Suivi-Travaux-Version ......xls

Info:
J'ai re-testé, c'était 24 au lieu de 23
 

adi399

XLDnaute Occasionnel
Re : [Résolu]macro enregistrer

Ok effectivement en testant avec mes noms de fichier qui comporte des -, cela pose encore problème...
J'ai remodifié votre code Eric et un autre problème est apparût:

Le nom d'enregistrement est parfait :
classeur-1-version 27-10_0924
classeur-1-version 27-10_0925
classeur-1-version 27-10_0926

Cependant ils ne s'enregistre pas en type: "feuille de calcul excel" mais juste en type : "fichier". Je ne comprend pas.. je rééssaye
 

adi399

XLDnaute Occasionnel
Re : [Résolu]macro enregistrer

oups le 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) - 24)
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 : [Résolu]macro enregistrer

Bonjour,

Je ne comprends pas ton problème.
Une feuille de calcul s'enregistre dans fichier Excel!!!

 

Pièces jointes

  • saveas.jpg
    68.6 KB · Affichages: 44
  • saveas.jpg
    68.6 KB · Affichages: 49

adi399

XLDnaute Occasionnel
Re : [Résolu]macro enregistrer

Je ne comprend pas non plus..
lorsque je veux enregistrer sous par la voie normal (fichier enregistrer sous), J'ai bien ds le type : fichier excel(*.xls) comme sur votre image, ainsi que d'autres types.
Mais lorsque j'utilise la macro, j'ai qu'un seul choix : Fichier excel ... ??? bon je peux toujours en cliquant sur l'icone ouvrir excel seulement ce n'est pas l'îcone d'excel vert, c'est un îcone blanc.
 

RENAUDER

Nous a quitté
Repose en paix
Re : Macro enregistrer

Bonjour,
C'est normal car on utilise la fonction GetSaveAsFilename (prédéfinie) mais ça enregistre au format d'un classeur Excel.
Tu peux mettre cela à la place si tu préfères:
Code:
FileSVG = Application.GetSaveAsFilename(InitialFileName:=NomCourt & "-Version " & Format(Now, "dd-mm_hh-mm"), _
fileFilter:="Classeur Microsoft Office Excel (*.xls), *.xls", _
Title:="Enregistrement")
 
Dernière édition:

adi399

XLDnaute Occasionnel
Re : Macro enregistrer

d'accord mais ce n'est pas possible d'avoir l'îcone excel sans tout modifié le code? parceque les personnes qui vont utiliser mes sauvegardes ne connaissent pas vraiment ce type de fichier... sinon je m'en contenterai
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…