numéro de facture automatique

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

riegel

XLDnaute Nouveau
Bonjour à toutes et tous,

J'alimente une base de données sous Excel dans laquelle j'aimerais incrémenter un numéro de facture automatique.
En A1 j'entre une date, B1 un nom, C1 une adresse, ... en F1 un numéro de facture de type KBS5101.

Mon souhait est que le numéro de facture en colonne F se renseigne automatiquement dès que je remplis la case A. En F2, j'obtiendrais donc KBS5102.
Bien entendu le numéro de facture généré ne doit pas avoir été déjà affecté dans les lignes précédentes.

J'espère que ma demande est suffisamment claire, et vous remercie par avance de votre aide.

Cordialement,

riegel.
 
Re : numéro de facture automatique

Hello,

Voici une solution à placer dans le code vba de ta feuille :
Il se déclenche à partir de la ligne 3

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Application.Intersect(Target, Range("a1:a2")) Is Nothing Then

If ActiveCell.Column = 1 Then
If Cells(ActiveCell.Row - 2, 1) = "" Or Cells(ActiveCell.Row - 2, 6) = "" Then
MsgBox "la ligne précédente n'est pas totalement renseignée"
Exit Sub
End If

If Cells(ActiveCell.Row - 1, 6) <> "" Then
reponse = MsgBox("Attention le N° de facture est déjà renseigné voulez vous l'écraser ?", vbYesNo)
If reponse = vbNo Then Exit Sub
End If

Cells(ActiveCell.Row - 2, 6).Select
Selection.AutoFill Destination:=Range(Cells(ActiveCell.Row, 6), Cells(ActiveCell.Row + 1, 6)), Type:=xlFillDefault
Cells(ActiveCell.Row + 2, 1).Select
End If

If ActiveCell.Column = 2 Then
If Cells(ActiveCell.Row - 1, 1) = "" Or Cells(ActiveCell.Row - 1, 6) = "" Then
MsgBox "la ligne précédente n'est pas totalement renseignée"
Exit Sub
End If

If Cells(ActiveCell.Row, 6).Value <> "" Then
reponse = MsgBox("Attention le N° de facture est déjà renseigné voulez vous l'écraser ?", vbYesNo)
If reponse = vbNo Then Exit Sub
End If
Cells(ActiveCell.Row - 1, 6).Select
Selection.AutoFill Destination:=Range(Cells(ActiveCell.Row, 6), Cells(ActiveCell.Row + 1, 6)), Type:=xlFillDefault
Cells(ActiveCell.Row + 1, 1).Select
End If
End If
End If
End Sub
 
- 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
490
Réponses
14
Affichages
1 K
Réponses
1
Affichages
1 K
Retour