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

Enregistrement Nom et N° facture

  • Initiateur de la discussion Initiateur de la discussion apdf
  • 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 !

apdf

XLDnaute Occasionnel
Bonjour,

J'ai un formulaire que j'enregistre dans un dossier nommé "Factures" par le nom du client. J'aimerais enregistrer par le nom du client qui se trouve en cellule ("D15") et par le N° de facture qui se trouve en ("N16").

Si joint mon code

Code:
Private Sub CommandButton1_Click()
'évite les basculements d'écrans
Application.ScreenUpdating = False
' bouton valider
nomfichier = ActiveWorkbook.Name
'ouverture nouveau classeur - 1 feuille - ne fonctionne pas sous XL97
défaut = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Workbooks.Add
Application.SheetsInNewWorkbook = défaut
nomfichier1 = ActiveWorkbook.Name
'copie la feuille
Windows(nomfichier).Activate
Range("Zoneimpression").Copy
'colle dans nouveau fichier
Windows(nomfichier1).Activate
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
'protège les cellules
ActiveSheet.Range(Selection.Address).Locked = True
                                                
ActiveSheet.Range("A1").Select
'enregistre sous le répertoire Factures, selon numéro de facture
ChDir (ThisWorkbook.Path & "\Factures")
'choix avec nom par défaut, possibilité de changer le nom ou annuler
fermer = Application.GetSaveAsFilename(ActiveSheet.Range("D15").Value, "Fichiers Excel,*.xls")
'si annulation
If fermer = False Then
Windows(nomfichier1).Activate
    ActiveWorkbook.Close Savechanges:=False
Exit Sub
End If
'sinon
ActiveWorkbook.SaveAs Filename:=fermer
ActiveWorkbook.Close
'retour sur modèle
'raz champ Aremplir
Range("Aremplir").ClearContents
'incrément N° commande
num = Format(Val(Right(Range("N16"), 3)) + 1, "000")
                                              
Range("N16") = Left(Range("N16"), 8) & num
                                            
'sauve modèle avec numéro incrémenté
'ActiveWorkbook.Save
'réautorise les basculements d'écran
Application.ScreenUpdating = True

End Sub

Merci d'avance

Cordialement

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

Discussions similaires

Réponses
3
Affichages
805
Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…