Pour commencer je voudrais vous souhaiter une excellente année 2008 qu'elle soit remplie de problèmes résolus!!!
Voilà, j'ai donc mon modèle de facture avec en cellule H8 mon numéro de facture dont voici le format :
mv/08/01000
mv étant les initiales, 08 l'année, 01 le mois, 000, le numéro de facture qui commencera biensur par 0001 et ensuite 002 .....
Je voudrais donc que le numéro de facture s'incrémente de 1 et que le mois s'incrémente aussi de 1 à chaque changement de mois (attention, je fais plusieurs factures le meme mois donc il faut qu'il incrémente le mois lorsque nous sommes le mois suivant uniquement)
Ce qui voudrait dire qu'au mois de mars je pourrais très bien avoir ce genre de n°:
mv/08/03015
Ce qui serait génial c'est que cette macro fonction a chaque copie de feuille il faut savoir que j'ai déjà une macro qui tourne sur cette facture et qui en gros : fait une copie de ma facture modèle, la renomme, et efface certaine zone de la facture modèle (mais pas le numéro de facture )voici le code si cela peut vous etre utilie :
Sub copie_facture()
'
' copie_facture Macro
' copie renome efface facture modèle
'
' Keyboard Shortcut: Ctrl+j
'
Sheets("Facture_Modele").Copy Before:=Sheets(3)
Selection.Copy
Sheets("Facture_Modele (2)").Select
Sheets("Facture_Modele (2)").Name = "00000000000"
Sheets("Facture_Modele").Select
Range("B11:B16").Select ======> plage de cellule ou se trouve le nom du client
Application.CutCopyMode = False
Selection.ClearContents
Range("H7").Select ====> ca c'est la cellule de la date
Selection.ClearContents
Range("detail").Select =====> c'est la plage de cellule que j'ai nommée "détail" (le corps de la facture ou se trouvent les prestations)
Selection.ClearContents
End Sub
D'avance je vous remercie
E
A voir également:
Modèle de facture avec incrémentation automatique du numéro
gbinforme
Messages postés14946Date d'inscriptionlundi 18 octobre 2004StatutContributeurDernière intervention24 juin 20204 713 1 janv. 2008 à 17:27
bonjour
Si j'ai bien compris ton désir je te propose de modifier ta macro ainsi :
Sub copie_facture()
'
' copie_facture Macro
' copie renome efface facture modèle
'
' Keyboard Shortcut: Ctrl+j
'
Sheets("Facture_Modele").Copy Before:=Sheets(3)
ActiveSheet.Name = Replace(Range("H8").Value, "/", "-") ' le nom de l'onglet n'accepte pas /
Sheets("Facture_Modele").Select
Range("B11:B16").ClearContents
Range("H7").ClearContents
Range("detail").ClearContents
If Val(Mid(Range("H8").Value, 7, 2)) = Month(Date) Then
Range("H8").Value = Left(Range("H8").Value, 8) _
& Format(Val(Right(Range("H8").Value, 3)) + 1, "000") 'même mois facture +1
Else
Range("H8").Value = Left(Range("H8").Value, 6) _
& Format(Month(Date), "00") & Format(1, "000") ' mois différent facture 1
End If
End Sub
Pour effacer une zone il est inutile de la sélectionner.
Ton onglet de copie est nommé du N° de facture en remplaçant "/" par "-"
Si tu factures beaucoup, ce que je te souhaite, ton classeur va rapidement prendre une taille importante.
caucasiane
Messages postés1Date d'inscriptionjeudi 20 mars 2008StatutMembreDernière intervention20 mars 2008 20 mars 2008 à 13:59
Bonjour,
J'aimerais savoir si on ne pourrait pas m'aider...
Je veux incrémenter un numéro de reçu... pour ça pas de pb... en revanche, il faudrait qu'à chaque ouverture du classeur, que les champs à renseigner soient vierges :
en B2 : N° de reçu et j'ai nommé la cellule
et j'aimerais que les lignes de B4 à B11 se réinitialisent et soient vierges après chaque enregistrement.
Est-ce possible?
Si oui merci pour votre apport personnel...
Merci beaucoup. Ca fonctionne très bien
Normalement je devrais avoir en fin d'année entre 25 et max 40 factures. Je travaille plusieurs jours par mois pour le meme clients et donc j'ai en général 2 à 3 factures par mois
Un tout grand merci encore
E
Vous n’avez pas trouvé la réponse que vous recherchez ?
Je voudrais que excel garde une copie de ma facture 110101 (année:11, mois 01 et numéro:01) et un fichiser dans lequel les infos constituants la facture (date, prix HTVA, nom, adresse client, ...) et que quand je l ouvre il crée de suite un nouveau numéro et enregistre les anciennes dnnées.
Est-ce possible?
Raymond PENTIER
Messages postés58801Date d'inscriptionlundi 13 août 2007StatutContributeurDernière intervention 7 janvier 202517 264 14 févr. 2011 à 05:34
En partant de cette discussion, je me suis permis d'utiliser le script proposé par gbinforme que je remercie et de le modifier en fonction de ce que je voulais obtenir, à savoir exécuter la macro sur le modèle que j'ai enregistré. Je souhaite que le numéro de facture apparaisse en cellule B4, mais que les numéros de factures se suivent sur l'année et reparte à zéro l'année suivante. et non chaque mois.
La macro sera adaptée à chaque client.
Le problème qui se passe est que le numéro n'évolue pas lorsque je rouvre le document., ce qui est un souci, car cela créée des factures différentes avec le même numéro.
Auriez vous une solution à m'apporter.
Merci par avance de votre aide.
Voici le script modifié pour ma facture
Sub Numéro_Facture()
'
'
'
'
'
Range("E18:E30").ClearContents
If Val(Mid(Range("B4").Value, 7, 2)) = Year(Date) Then
Range("B4").Value = "DGB-"
Range("B4").Value = Left(Range("B4").Value, 8) _
& Format(Val(Right(Range("B4").Value, 3)) + 1, "000") 'même mois facture +1
Else
Range("B4").Value = "DGB-"
Range("B4").Value = Left(Range("B4").Value, 6) _
& Format(Year(Date), "00") & Format(1, "000") ' année différente facture 1
End If
End Sub
gbinforme
Messages postés14946Date d'inscriptionlundi 18 octobre 2004StatutContributeurDernière intervention24 juin 20204 713 14 mars 2014 à 09:39
Bonjour chibronator,
le numéro n'évolue pas lorsque je rouvre le document
Il faut bien sûr rajouter la sauvegarde de ton modèle pour que le numéro évolue à ta convenance.
eriiic
Messages postés24603Date d'inscriptionmardi 11 septembre 2007StatutContributeurDernière intervention15 décembre 20247 249 14 mars 2014 à 09:51
Bonjour,
après avoir modifié il faut que tu enregistres ton modèle .xlt pour sauvegarder le dernier n° de facture, puis que tu ré-enregistres en .xls que le format soit correct pour l'utilisateur.
C'est peut-être plus simple d'utiliser un fichier texte annexe pour mémoriser le dernier n° de facture.
Ex qui peut te servir de base : https://www.cjoint.com/c/DCojXE2zVjm
J'enregistre le modèle en fichier excel prenant en charge les macros (je fonctionne avec office 2010). Je ferme le fichier, puis le réouvre pour vérifier que le script fonctionne automatiquement à l'ouverture.
Ai-je oublié une écriture dans le script ou une étape dans la création de la macro?
Ou ai je un cerveau tellement blond que je ne vois pas ce que je suis censé faire? lol.
Merci pour votre réactivité dans vos premières réponses.
eriiic
Messages postés24603Date d'inscriptionmardi 11 septembre 2007StatutContributeurDernière intervention15 décembre 20247 249 14 mars 2014 à 10:23
Il faut appeler ta macro de fabrication du n° de facture à l'ouverture du fichier.
C'est l'évènement Private Sub Workbook_Open() dans ThisWorkbook.
pomponette64
Messages postés1Date d'inscriptionjeudi 19 juin 2008StatutMembreDernière intervention19 juin 2008 19 juin 2008 à 11:37
Bonjour,
J'ai lu ton post et je suis très interessée par ta macro, c'est tout a fait ce que je recherche mais je n'arrive pas à la réaliser, il faut dire que je n'y connait rien en VBA, mais rien de rien. Si quelqu'un pouvait m'envoyer une feuille avec la macro, ce serai formidable.
Merci
A tous, EXCELlente journée.
chtilou
Messages postés1696Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention30 avril 2012523 19 juin 2008 à 13:30