Générer numéro de facture automatique

Hello le forum,

Pour faire simple, je veux attribuer un numéro de clients à des clients, et ce numéro généré doit commencé par les initiales de sa ville (que j'ai renseigné dans un tableau).

A titre d'exemple lorsque le client habite à PARIS, le numéro de client généré sur mon tableau et sur la facture devra être semblable à ça : PAR00001, PAR00002, PAR00003...

Est-ce que quelqu'un a une solution à me proposer ou un lien vers un autre sujet parce que je n'ai pas trouvé ?

Voici mon fichier :

20ronnie.xlsm (36.90 Ko)

Merci d'avance.

Bonjour, Il y a plusieurs problème à cette demande.

Dans votre onglet Tableau c'est le numéro de client qui est créé alors que vous allez utilisez ce numéro comme

numéro de facture ?

Par ailleurs comment allez-vous faire varier le numéro client si plusieurs clients sur Paris ?

Normalement un numéro de facture n'a rien à voir avec un numéro de client. il est utile uniquement pour votre propre comptabilité ou pour des recherches ultérieur.

Vous pourriez tout aussi bien attribuer un numéro de facture l'abréviation "FAC" , le numéro de ligne, et l'année

FAC-2022-0001

bonjour,

   Set c = Range("tableau1")     'vos données des villes
     r = Application.Match(cboVille.Value, c.Columns(1), 0)     'cherchez la ville
     If IsNumeric(r) Then     'trouvé
          c(r, 3) = c(r, 3) + 1     'incrementer
          Sheets("Facture").Range("K12").Value = c(r, 2) & Format(c(r, 3), "00000")
     Else
          Sheets("Facture").Range("K12").Value = "????"
     End If
   
5ronnie.xlsm (44.30 Ko)

Hello Xmenpl,

L'idée du numéro client c'est justement pour que le numéro de facture ne se répète pas (dans le cas où plusieurs client se trouvent dans la même ville) et augmente selon la valeur du numéro de client ultérieur.

Mais Bsalv a eu une bien meilleure idée en se référant à un index qui calcule les nombres de factures saisies, après quoi il génère un nouveau numéro de facture c(r,3)+1. Et ça marche plutôt bien, et sans devoir passer par le numéro client. Merci beaucoup.

Pour le numéro de ligne que t'as évoqué, est-ce que t'as un exemple de code stp ? (pour que le numéro de facture se réfère au numéro de ligne créée sur le tabelau)

re,

je ne comprends pas cette dernière question.

c'est ca ?

Sheets("Facture").Range("K12").Value = "FAC-" & c(r, 2) & Format(c(r, 3), "-00000")

Hello bsalv,

Tout d'abord merci pour ta solution, c'est celle que je vais utiliser pour mon fichier.

Sinon pour la question c'est juste par curiosité. C'est pour la proposition de xmen, celle de reprendre la dernière ligne du tableau pour générer le numéro de facture. C'est à dire que le numéro de ligne = numéro à la fin de la facture (ligne 3 -> PAR00003, ligne 8 -> ROU00008...) si j'ai bien compris

bonjour,

si je l'ai bien compris, les 3 charactères de la ville + le numéro de facture independant de la ville.

14ronnie.xlsm (45.26 Ko)

Bonjour à tous,

Je suis comptable à la base et je conseille Ronnie de lire cet extrait sur la réglementation fiscale sur le numéro de facture :

Il est possible d’associer un préfixe à la numérotation continue, par exemple l’année suivie du mois. Le compteur doit cependant rester continu, pour éviter tout litige dans la possible disparition d’une facture.

@BsAlv

Je n'arrive pas à comprendre cette partie de ton code:

     With Range("index") 'cette plage nommée

Est-ce que çà à voir avec çà:

image

Cdt

bonjour le fil, fronck,

la cellule F2 de liste est une plage nommée "Index", donc tous les " .valeur" dans le code suivant se réfèrent à cette cellule.

PS. Après le recul, ce n'est pas vraiment malin d'utiliser un nom qui est en même temps une fonction, je reconnais cela.Peut-être c'est mieux de la renommer "dernier_numéro" ou ...

 With Range("index") 'cette plage nommée
          .Value = .Value + 1 'incrementer numéro en général
          Sheets("Facture").Range("K12").Value = "FAC-" & ville & Format(.Value, "-00000")
     End With

Bonjour à tous, BsAlv

Ok. Index çà me va

Merci énormément BsalV, c'est ce que je cherchais.

Bonsoir fronck, c'est ce que j'ai essayé d'appliquer avec le second fichier de Bsalv, ça me permettrait de générer des numéro de factures croissants indépendamment de la ville, et en même temps ça permet une meilleure traçabilité (chose que je n'avais pas remarquée). Merci pour le conseil

Rechercher des sujets similaires à "generer numero facture automatique"