Incrémentation numéro facture(je sais encore...mais bon)
Résolu
gui64600
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je voudrais pouvoir incrémenter en appuyant sur un bouton un numéro de facture.
j'ai une liste de numéro de facture en colonne A d'un fichier.
Ces factures commencent soit par la lettre F, soit par lettre A.
je voudrais créer un bouton qui incrémente sur une cellule définie les factures qui commencent par la lettre F. Et un autre bouton qui incrémente la même cellule les factures (avoir) qui commencent par la lettre A.
en gros j'ai ma colonne A qui contient les valeurs suivantes:
F0001
F0002
A0001
F0003
F0010
A0004
je voudrais quand je clique sur le bouton "Numéro facture" avoir la valeur F0011 qui s'affiche dans une cellule D6 (par exemple) et si je clique sur le bouton "numéro avoir" avoir la valeur A0004 qui s'affiche dans la même cellule D6.
Merci de votre aide
je voudrais pouvoir incrémenter en appuyant sur un bouton un numéro de facture.
j'ai une liste de numéro de facture en colonne A d'un fichier.
Ces factures commencent soit par la lettre F, soit par lettre A.
je voudrais créer un bouton qui incrémente sur une cellule définie les factures qui commencent par la lettre F. Et un autre bouton qui incrémente la même cellule les factures (avoir) qui commencent par la lettre A.
en gros j'ai ma colonne A qui contient les valeurs suivantes:
F0001
F0002
A0001
F0003
F0010
A0004
je voudrais quand je clique sur le bouton "Numéro facture" avoir la valeur F0011 qui s'affiche dans une cellule D6 (par exemple) et si je clique sur le bouton "numéro avoir" avoir la valeur A0004 qui s'affiche dans la même cellule D6.
Merci de votre aide
A voir également:
- Incrémentation numéro facture(je sais encore...mais bon)
- Numero prive - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Facture ryanair - Forum Réseaux sociaux
- Facture aliexpress ✓ - Forum Consommation & Internet
- Numero imei - Guide
9 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, est-ce toujours en D6?
pourrais-tu expliquer quelle logique fait qu'il faut obtenir F0011 et A0004?
les factures sont-elles triées dans la colonne A, ou est-ce un hasard dans ton exemple?
pourrais-tu expliquer quelle logique fait qu'il faut obtenir F0011 et A0004?
les factures sont-elles triées dans la colonne A, ou est-ce un hasard dans ton exemple?
Bonjour,
Au passage vous récupérer le dernier n° de facture, soit ‘F0010 et A0003’ que vous mettez en ‘D6 ? et vous appliquez ceci pour incrémentée en ‘D6 :
Salutations
Le Pingou
Au passage vous récupérer le dernier n° de facture, soit ‘F0010 et A0003’ que vous mettez en ‘D6 ? et vous appliquez ceci pour incrémentée en ‘D6 :
Sheets("ma feuille").Range("D6").Value = Left(Range("D6"), 1) + Format(CInt(Right(Range("D6"), Len(Range("D6")) - 1)) + 1, "0000")
Salutations
Le Pingou
Bonjour,
Et pourtant ce code fonctionne parfaitement.
Alors mettre une copie de votre code....Merci
Et pourtant ce code fonctionne parfaitement.
Alors mettre une copie de votre code....Merci
Bonjour,
étant vraiment novice en code je n'ai rien à copier malheureusement...mais peut être pourriez vous faire quekque chose avec cette explication??
Sélectionner la plus grande des valeurs se situant en colonne A et commençant par la lettre F et l'incrémenter de 1 et positionner le résultat dans la cellule D6.
merci
étant vraiment novice en code je n'ai rien à copier malheureusement...mais peut être pourriez vous faire quekque chose avec cette explication??
Sélectionner la plus grande des valeurs se situant en colonne A et commençant par la lettre F et l'incrémenter de 1 et positionner le résultat dans la cellule D6.
merci
Bonjour,
Je vous le fait volontiers, mettre votre fichier exemple sur https://www.cjoint.com/ et poster le lien reçu.
Je vous le fait volontiers, mettre votre fichier exemple sur https://www.cjoint.com/ et poster le lien reçu.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Code à insérer dans un Module (sous VBE Insertion/Module) :
A utiliser directement dans la cellule D6, comme ceci :
=NumeroFacture()
ou
=NumeroAvoir()
On peut également associer les deux...
Code à insérer dans un Module (sous VBE Insertion/Module) :
Option Explicit Const NF As String = "Feuil1" '********* A ADAPTER LE NOM DE LA FEUILLE CONTENANT LES N° DE FACTURES ET AVOIRS Public Function NumeroFacture() As String Dim num As Integer num = CInt(RechercheDernier("F")) + 1 NumeroFacture = "F" & Right("0000" & num, 4) End Function Public Function NumeroAvoir() As String Dim num As Integer num = CInt(RechercheDernier("A")) + 1 NumeroAvoir = "A" & Right("0000" & num, 4) End Function Function RechercheDernier(Quoi As String) As String Dim R As Range Set R = Sheets(NF).Columns(1).Cells.Find(Quoi, After:=Sheets(NF).Range("A" & Rows.Count), LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious) If Not R Is Nothing Then RechercheDernier = Right(R.Value, 4) Else RechercheDernier = "0001" End If End Function
A utiliser directement dans la cellule D6, comme ceci :
=NumeroFacture()
ou
=NumeroAvoir()
On peut également associer les deux...
Bonjour,
Voici ma petite contribution, bonne découverte.
Le lien : https://www.cjoint.com/c/JEwqTmw4ZP0
Merci du retour.
Voici ma petite contribution, bonne découverte.
Le lien : https://www.cjoint.com/c/JEwqTmw4ZP0
Merci du retour.
Bonjour,
Il ya quelques temps déjà vous m'aviez aider en me fournissant le code suivant qui est parfait.
Aujourd'hui j'ai besoin de la même chose avec en plus l'année en cours à la suite de la numérota, c'est là que le bas blesse, l'incrémentation ne fonctionne plus
Sub plusgdvaltexte(FA As Variant)
Dim pg As Long, c As Range, nu As Variant
pg = 0
With Sheets("Numéro facture")
For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
If Left(c, 1) = FA Then
nu = Right(c, Len(c) - 1)
If pg < nu Then pg = nu
End If
Next c
End With
Range("D6") = FA & Format(pg + 1, "000")
End Sub
Aujourd'hui j'ai besoin de la même chose avec en plus l'année en cours à la suite de la numérotation, c'est là que le bas blesse, l'incrémentation ne fonctionne plus, voilà le code modifié que j' ai réalisé mais évidemment ça ne suffit pas.
Sub plusgdvaltexte(FA As Variant)
Dim pg As Long, c As Range, nu As Variant
pg = 0
With Sheets("Numéro facture")
For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
If Left(c, 1) = FA Then
nu = Right(c, Len(c) - 1)
If pg < nu Then pg = nu
End If
Next c
End With
Range("D6") = FA & Format(pg + 1, "000") & "/" & Format(Date, "yyyy") 'numéro plus / et l'année
End Sub
Merci de ton aide
Il ya quelques temps déjà vous m'aviez aider en me fournissant le code suivant qui est parfait.
Aujourd'hui j'ai besoin de la même chose avec en plus l'année en cours à la suite de la numérota, c'est là que le bas blesse, l'incrémentation ne fonctionne plus
Sub plusgdvaltexte(FA As Variant)
Dim pg As Long, c As Range, nu As Variant
pg = 0
With Sheets("Numéro facture")
For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
If Left(c, 1) = FA Then
nu = Right(c, Len(c) - 1)
If pg < nu Then pg = nu
End If
Next c
End With
Range("D6") = FA & Format(pg + 1, "000")
End Sub
Aujourd'hui j'ai besoin de la même chose avec en plus l'année en cours à la suite de la numérotation, c'est là que le bas blesse, l'incrémentation ne fonctionne plus, voilà le code modifié que j' ai réalisé mais évidemment ça ne suffit pas.
Sub plusgdvaltexte(FA As Variant)
Dim pg As Long, c As Range, nu As Variant
pg = 0
With Sheets("Numéro facture")
For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
If Left(c, 1) = FA Then
nu = Right(c, Len(c) - 1)
If pg < nu Then pg = nu
End If
Next c
End With
Range("D6") = FA & Format(pg + 1, "000") & "/" & Format(Date, "yyyy") 'numéro plus / et l'année
End Sub
Merci de ton aide
peux-tu utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
il serait utile que tu nous montres des exemples.
il serait utile que tu nous montres des exemples.
Merci de ton intérêt.
A ce jour je n'avais besoins que de la numérotation suivante qui fonctionne très bien avec le code fourni :
F0001
F0002
F0003
ETC
Maintenant je voudrais ajouter l'année à cette numérotation pour obtenir le résultat suivant :
F0001/2020
F0002/2020
F0003/2020
ETC
A ce jour je n'avais besoins que de la numérotation suivante qui fonctionne très bien avec le code fourni :
F0001
F0002
F0003
ETC
Sub plusgdvaltexte(FA As Variant) Dim pg As Long, c As Range, nu As Variant pg = 0 With Sheets("Numéro facture") For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row) If Left(c, 1) = FA Then nu = Right(c, Len(c) - 1) If pg < nu Then pg = nu End If Next c End With Range("D6") = FA & Format(pg + 1, "000") End Sub
Maintenant je voudrais ajouter l'année à cette numérotation pour obtenir le résultat suivant :
F0001/2020
F0002/2020
F0003/2020
ETC
Merci beaucoup,
c'est loin d'être une petite contribution pour moi c top!!
Ca à l'air de fonctionner du tonnerre
merci encore
à la prochaine MONSIEUR le Pingou
c'est loin d'être une petite contribution pour moi c top!!
Ca à l'air de fonctionner du tonnerre
merci encore
à la prochaine MONSIEUR le Pingou
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
ceci va recommencer à 1 chaque année:
Sub plusgdvaltexte(FA As Variant) Dim pg As Long, c As Range, nu As Variant, yr As Integer pg = 0 yr = Year(Now()) With Sheets("Numéro facture") For Each c In .Range("A2:A" & .Cells(.Rows.Count, 1).End(xlUp).Row) If Left(c, 1) = FA And CInt(Right(c, 4)) = yr Then nu = Mid(c.Value, 2, 4) If pg < nu Then pg = nu End If Next c End With Range("D6") = FA & Format(pg + 1, "0000") & "/" & CStr(yr) End Sub
Oui le résultat se trouvera toujours enD6.
F0011 correspond au résultat trouvé, en déclenchant la macro numérotation facture, puisque le plus grand dernier numéro de facture était F0010.
Idem pour les avoirs si j'active la macro numérotation avoir.
Et enfin non les numéros ne sont pas forcements triés.
Merci ton interet