Numéro de facture

RONIBO

XLDnaute Impliqué
Bonsoir le forum,

Je souhaite avoir un code vba concernant mes numéros de factures, je souhaite qu'elle se numérote automatiquement, et surtout qu’elles se suivent

Car aujourd'hui, je me suis fait engueuler par mon comptable car j'avais sauté un numéro (je suis passé de 51 à 53), il dit que ça pouvait causer problème, donc je devais faire plus attention, mais bon, l’erreur est humaine

Pour éviter se genre de problème j'aurais besoin de ce code :)

Mes numéro de facture, je les saisie dans "H10" (Je les numérote de cette façon, 001, 002, 003)

Voici une solution qui peut résoudre mon problème.
J'ai crée un fichier Brut (Feuille "Numéro de facture")

Je précise avant tout que lorsque je crée une facture et que je l'enregistre dans "C:/" (emplacement programmé par macro) elle se nomme automatiquement.

Voici mon idée :
Des que je veux créer une nouvelle facture, Je sélectionne le type de document dans "G1" (Facture ou devis)
Si je sélectionne « Facture », je souhaite que la macro me trouve le dernier numéro de facture crée auparavant (dans le dossier "C:/" et qui me numérote la facture en respectant le suivi de numéro.
Faire la même chose pour les devis

Ex : Si dans le répertoire "C:/" j'ai une facture N°098:
Facture N°098 - JEAN PIERRE (PARIS)
Il doit me numéroter la nouvelle facture "099"

J'espère que j'ai été clair et précis :)

A bientôt
 

Pièces jointes

  • Brut.xlsm
    20.2 KB · Affichages: 114
  • Facture.xlsm
    76.8 KB · Affichages: 130
  • Facture.xlsm
    76.8 KB · Affichages: 139
  • Facture.xlsm
    76.8 KB · Affichages: 135

fanfan38

XLDnaute Barbatruc
Re : Numéro de facture

Bonjour

Je te propose d'enregistrer en G2 (par exemple) le numéro de la dernière facture
Dans la macro (qui est dans thisworkbook)
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
Cancel = True
With Worksheets("Picard")
Select Case Left(.Range("G10"), 1)
Case "B": Chemin = "C:\"
Case "D": Chemin = "C:\"
Case "F"
Chemin = "C:\"
Range("h10").Value = Range("g2").Value + 1
Range("g2").Value = Range("h10").Value
End Select

A+ François
 

RONIBO

XLDnaute Impliqué
Re : Numéro de facture

Bonsoir,

fanfan38 merci pour ce code qui fonctionne plutôt bien :)

Juste une petite amélioration, ta macro est programmé pour qu'elle enregistre les factures à un chiffre (exemple : 9) alors que moi je les enregistres comme ceci : 009.

C'est possible de la modifier ? :)

Merci encore

a+
 

Staple1600

XLDnaute Barbatruc
Re : Numéro de facture

Bonjour à tous


Une autre voie possible ( à peaufiner) qui utilise les Ce lien n'existe plus
PREAMBULE:
Avant de lancer la macro, créer une valeur de départ manuellement en faisant
Fichier/Propriétés/Personnalisation/N° de document: Valeur:1 , Type:Nombre et cliquer sur Ajouter

Ci-dessous exemple basique
lancer la macro plusieurs fois pour voir la valeur en A1 s'incrémenter.
Code vba:
Sub IncrementerNumeroFact()
Dim NUMFAC
NUMFAC = ActiveWorkbook.CustomDocumentProperties("N° du document") + 1
ActiveWorkbook.CustomDocumentProperties("N° du document") = NUMFAC
With Range("A1")
.Value = NUMFAC
.NumberFormat = "000"
End With
End Sub
 

RONIBO

XLDnaute Impliqué
Re : Numéro de facture

re,

Je viens de tester la macro le tout fonctionne bien, mais j'airais quelques questions :

En voulant faire un fichier exemple, j'ai oublié de préciser que les devis se trouvé sur un autre dossier :(

S'qui donne
C:/Factures\
C:/Devis\

Excuse moi Fanfan38

Deuxième questions

Dans "C:/" J'ai un fichier nommé "Picard" (qui me permet de m'en servir comme un modèle.
J'ouvre ce fichier et à partir de ce fichier je crée ma facture ou mon devis.

Comment je peux travailler que sur ce fichier? Puis faire la sauvegarde de chaque fichier (Facture ou devis) dans son propre répertoire?

Voila

Encore désolé

@Staple1600 : je test ton code puis je te reviens :)

Et bon dimanche à vous tous ;)
a+
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 298
Membres
103 171
dernier inscrit
clemm