Incrémenter un numero de code automatiquement

Bonjour à tous !

Je viens vers vous pour savoir s'il est possible, via VBA, d'ajouter un numéro automatiquement à la suite d'une lettre en fonction d'un choix de catégorie.

Je m'explique :

- J'ai des catégories (Exemple : Voiture Moto) et à chaque catégorie est associée un code. Par exemple pour les Voiture c'est le code VXX. Le partie XX étant un numéro (V01 pour Renault, V02 pour Citroen).

J'ai créé un formulaire permettant d'ajouter un article en appuyant sur un bouton.

Dans ce formulaire je sélectionne la catégorie et en suite je saisie la désignation ainsi que la quantité.

J'aimerais que le code de l'article s'ajoute automatiquement dans le formulaire avant de l'insérer dans ma feuille.

Par exemple, je veux ajouter "Mercedes" et que le code V03 s'ajoute automatique (Puisque V01 et V02 existent déjà)

Est-ce que cela est possible sur excel ? Si oui comment faire ?

Je vous ai joint un fichier exemple.

Bonjour,

Ci-joint une formule pour la colonne B ...

En espèrant que cela t'aide

Merci pour ce retour.

C'est ce que j'avais réussi dans un premier temps. Mais ce que j'aimerais c'est que cela se fasse directement dans la case "Code" du formulaire qui s'affiche lorsque l'on clique sur ajouter.

Re,

A priori ... dans le fichier que tu as posté ... pas de macro ni de formulaire ...

Il ne faut pas hésiter à joindre ton fichier test ...

Effectivement je n'avais pas envoyer la dernière version

Je voudrais que le code s'inscrive automatiquement dans la TextBox "Code" du formulaire, mais je ne sais pas si c'est possible...

Bonjour ABCIVIN et le forum.

Voici une idée. Les cellules L3 et L4 augmentent de 1 à chaque enregistrement selon qu'on saisisse "Voiture" ou "Moto"

Cdt

Henri

62abcivin-test.xlsm (22.67 Ko)

Re,

Merci pour le fichier ...

Ci-joint ta modification ...dans le formulaire ..

En espèrant que cela t'aide

Merci à vous 2

La solution de James se rapproche beaucoup de ce que je veux faire.

Le seul problème que j'ai c'est qu'après avoir ajouter un item dans une catégorie, par exemple voiture, j'ai bien V03 mais si j'en ajoute encore un j'ai toujours V3

Si je comprend bien tu as transformé une textbox en combobox ?

Et en suite j'ai regarde la code mais je ne comprend pas tout malheureusement pour pouvoir le modifier

Private Sub ComboBox1_Change()

Dim L As Integer, X As Integer

L = Sheets("Feuil1").Range("B65536").End(xlUp).Row

X = Evaluate("=SUMPRODUCT((LEFT(" & "B2:B" & L - 1 & " ,1)=" & """" & Left(Me.ComboBox1.Value, 1) & """" & ")*1)") + 1

UserForm1.TextBox1 = Left(Me.ComboBox1.Value, 1) & Format(X, "00")

End Sub

Bonjour,

Sans doute qu'une petite explication est nécessaire ...

Dès que tu saisis ta Catégorie, ton numéro de code est incrémenté ...comme tu le voulais ...

MAIS ... l'opération suivante que tu ne mentionnes pas ... est ... bien sûr ... que cette nouvelle saisie va être validée et donc stockée dans ta feuille ...

Et la saisie suivante sera donc automatiquement incrémentée ... puisque la feuille sert de référence au calcul ...

J'espère que cela éclaircit ta question ...

La seule chose que je ne comprends pas, c'est que si je veux ajouter 2 fois d'affilé un item de la catégorie, le numéro ne s'incrémente pas alors que si j'alterne les catégories cela fonctionne

La seule chose que je ne comprends pas, c'est que si je veux ajouter 2 fois d'affilé un item de la catégorie, le numéro ne s'incrémente pas alors que si j'alterne les catégories cela fonctionne

Au risque de me répéter ...

C'est parce ce que tu n'as pas procédé à la validation et donc au stockage dans la feuille de la première opération avant la saisie de la suivante ......

Et bien pourtant si, puisque la nouvelle ligne apparait

Ou alors je n'ai pas la même notion de validation...

Bonjour également

Si j'ai bien compris, V01 correspond toujours à "Renault", V02 à "Citroen", etc.

Donc mon principe marche correctement.

Puis j'ai pensé que les stocks de chaque code pouvaient évoluer en + ou en -

J'ai donc créé un nouveau formulaire pour ces opérations.

Cdt

Henri

39abcivin-test2.xlsm (30.08 Ko)

Et bien pourtant si, puisque la nouvelle ligne apparait

Ou alors je n'ai pas la même notion de validation...

Re,

Je viens de refaire un test avec le code suivant

Private Sub ComboBox1_Change()
Dim L As Integer, X As Integer
L = Sheets("Feuil1").Range("B65536").End(xlUp).Row
X = Evaluate("=SUMPRODUCT((LEFT(" & "B2:B" & L & " ,1)=" & """" & Left(Me.ComboBox1.Value, 1) & """" & ")*1)") + 1
UserForm1.TextBox1 = Left(Me.ComboBox1.Value, 1) & Format(X, "00")
End Sub

Tout semble fonctionner normalement ... un -1 s'était glissé dans la définition de L ...

Nickel !

Vos 2 solutions fonctionnent.

Merci beaucoup

Content que tout fonctionne ...

Merci pour tes remerciements

Content également et salutations à James007.

N'oublie pas de cocher

Henri

Bonjour

J'ai repris ma version et voici une amélioration.

1. on peut augmenter le nombre de catégorie à volonté (colonne J,K,L à renseigner)

2. pour les entrées et sorties de stock, plus de bug.

3. ajout de la date du jour en colonne A, en cas de modif-> la date est modifiée par la date du jour de l'opération.

Cdt

Henri

58abcivin-test3.xlsm (31.72 Ko)
Rechercher des sujets similaires à "incrementer numero code automatiquement"