• Initiateur de la discussion Initiateur de la discussion Jeny
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jeny

Guest
bonjour le forum

je fais des devis qui sont numerotés,j'aimerai quand j'enregistre mon devis qu'automatiquement le nom du fichier soit "devis n°x"
j'espere avoir été comprise
merci de votre réponse
jeny
 
Salut Jeny,

Voici une macro qui pourrait te convenir :

Sub EnregistreDevis()
Dim Temp As String
Temp = "D:\hc\excel\" & Range("A1").Text & ".xls"
ActiveWorkbook.SaveAs Filename:=Temp, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

La variable Temp est le nom complet du fichier à enregistrer, elle comprend le chemin puis le devis n° xxx et l'extension .xls.
Dans cet exemple, le numéro du devis se trouve en A1, il te suffit d'adapter.

A+
Horatio
 
Re Jeny,

En fait, tu vas modifier la procédure existante comme ceci :

Private Sub CommandButton4_Click()
'Neutraliser l'ancien code avec des apostrophes :
'ActiveSheet.Copy
'Application.Dialogs(xlDialogSaveAs).Show
'
'Ajouter le code suivant :

Dim Temp As String
Temp = "D:\hc\excel\" & Range("A1").Text & ".xls"
ActiveWorkbook.SaveAs Filename:=Temp, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

N'oublies pas de remplacer "D:\hc\excel\" par ton propre chemin !

A+
Horatio
 
re bonsoir

voilà mon code
encore merci


Private Sub CommandButton4_Click()
'ActiveSheet.Copy
'Application.Dialogs(xlDialogSaveAs).Show
'Active la boite de dialogue Enregistrer sous
'
Dim Temp As String
Temp = "C:\Documents and Settings\a\Bureau\" & Range("C12").Text & ".xls"
ActiveWorkbook.SaveAs Filename:=Temp, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
 
Rebonsoir Jeny,

Chez moi, le code fonctionne sans problème. Vérifie que tu es bien l'utilisateur "a" du poste ou bien essaie d'enregistrer dans un autre répertoire, "Mes Documents" par exemple.

A+
Horatio
 
bonjour le forum
bonjour Lord Nelson,

Encore merci pour tes reponses
Apres quelques corrections ça marche,y'a que pour le numéro du devis où
sa coince car en c 12 j'ai une zone de texte,un autre petit truc j'aimerai que sa enregistre que la feuille "devis" pas tout le classeur.
encore merci
bonne journée
jeny
 
bonjour le forum


J'ai tj ce probleme ,voici mon code

Private Sub CommandButton4_Click()
'ActiveSheet.Copy
'Application.Dialogs(xlDialogSaveAs).Show
'Active la boite de dialogue Enregistrer sous
'
Dim Temp As String
Temp = "C:\Documents and Settings\a\Bureau\devis\" & Range("d12").Text & ".xls"
ActiveWorkbook.SaveAs Filename:=Temp, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Tout fonctionne si je mets le numéro du devis en d12 mais le souci c que je l'ai en c12 dans une zonz de texte.
De plus j'aimerai n'enregistrer que ma feuille"devis"
je vous remercie d'avance pour vos réponses
Bonne journée
Jeny
 
Salut Jeny,

Comme tu as des questions à étages multiples, il serait plus intéressant de les traiter une par une car, si j'ai pu répondre à la première, je ne suis pas sûr de pouvoir t'aider pour la suite. Or, apparemment, nous ne sommes plus que tous les deux sur ce fil...

Après quelques recherches, il n'est pas évident de retrouver le texte d'une zone de texte en VBA, voici ce que j'ai trouvé :

Temp = Shapes("Zone de texte 1").TextFrame.Characters.Text

et comment l'utiliser dans la macro :

Private Sub CommandButton4_Click()
Dim Temp As String
Temp = "C:\Documents and Settings\a\Bureau\devis\" & Shapes("Zone de texte 1").TextFrame.Characters.Text & ".xls"
ActiveWorkbook.SaveAs Filename:=Temp, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Avant de tester ce code, vérifie le nom de ta zone de texte et, au besoin, modifie "Zone de texte 1" dans le code.

Quant à enregistrer un seul onglet, je ne sais pas le faire et cela me paraît difficile à concevoir si ton devis est rempli avec des données appartenant à d'autres feuilles du classeur...

Pose une nouvelle question en ce sens, je serai heureux que tu obtiennes satisfaction et nous apprendrons tous quelque chose.

A+
Horatio
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
638
Réponses
2
Affichages
120
  • Question Question
Autres excel
Réponses
8
Affichages
851
Retour