VBA Incrémentation en fonction de valeurs variables

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

Another

XLDnaute Nouveau
Bonjour à tous,

A l'aide d'une userform je rentre des valeurs dans un tableau et j'aimerai pouvoir incrémenter les cellules en colonne B en fonction de la valeur que j'ai en colonne A lorsque que je crée un nouvel article

Colonne A - Colonne B - Colonne X ...
S001 - C01 - Autre ...
S001 - C02 - Autre ...
S002 - C01 - Autre ...
S003 - C01 - Autre ...
S003 - C02 - Autre ...
S003 - C03 - Autre ...

Par exemple j'ai un nouvel article de catégorie "S001" à rentrer et donc j’aimerai avoir :

...
S001 - C02 - Autre ...
S001 - C03 - Autre ...
S002 - C01 - Autre ...
...

De plus si je rentre un nouvel article d'une nouvelle catégorie, j'aimerai pouvoir avoir directement C01.

Je sais qu'il y a déjà plusieurs discussions qui traitent plus ou moins du même problème mais je n'ai pas trouvé de solution adaptée à mon cas, alors merci d'avance si une solution existe.
 
Re : VBA Incrémentation en fonction de valeurs variables

Bonjour Another,

Au départ quelque chose comme
Code:
=SI(A1="";"";"C"&TEXTE(NB.SI($A$1:$A1;A1);"00"))
devrait fonctionner (si j'ai bien compris et pour autant que tes S001, S002, etc figurent en A et suivantes)

Cependant je crains que ça ne fonctionne qu'un temps!
 
Re : VBA Incrémentation en fonction de valeurs variables

Salut kjin,

A vue de nez cette formule-ci devrait continuer de fonctionner même après un tri ou une suppression, mais dans l'absolu, tu as raison (évidemment 🙁) ... d'autant que la demande mentionnait VBA et un UserForm!
Ah encore un beau dimanche qui se prépare. Vais plutôt aller faire un tour au jardin, moi!
 
Re : VBA Incrémentation en fonction de valeurs variables

Re,
A vue de nez cette formule-ci devrait continuer de fonctionner même après un tri ou une suppression
Certe, mais adieu les références

... d'autant que la demande mentionnait VBA et un UserForm!
Même pas vu ! 🙄
Alors sans fichier je passe

Ah encore un beau dimanche qui se prépare. Vais plutôt aller faire un tour au jardin, moi!

Veinard 😛
A+
kjin
 
Re : VBA Incrémentation en fonction de valeurs variables

Re,

@kjin: Ben voilà, 5 minutes au jardin et tout va mieux!
Certes, mais adieu les références
... Je viens seulement de comprendre: en cas de suppression d'une ligne, la formule affiche toujours un résultat (d'où ma naïve réponse), mais le "produit xy" avec l'ancienne référence S002-C03 porterait, après suppression d'une ligne, la référence S002-C02!? Tu n'avais donc pas seulement raison dans l'absolu, mais absolument raison 😱

@Another: tu n'avais pas oublié ... c'était dans l'intitulé de ton message! Je suppose que la création de la référence, en soi, ne sera pas plus compliquée en vba que par formule, mais par contre il faudra veiller à ce qu'une référence créée à un moment, puis supprimée (avec le produit correspondant) un peu plus tard, ne soit pas réattribuée ensuite pour un autre produit!? D'où la demande de kjin d'un extrait de fichier avec le code déjà écrit pour la création du produit via ton Usf.

Je crois bien que je vais retourner au jardin et n'en revenir qu'à la tombée de la nuit 😱
 
Re : VBA Incrémentation en fonction de valeurs variables

Voila une version simplifié de mon fichier.

Effectivement il est possible de supprimer des lignes et/ou de les modifier (non intégré dans le fichier joint).

Dans le cas des suppression de lignes, vous avez soulevé un point important que je n'avais pas remarqué. Bien vu le coup de la non réattribution !!!
 

Pièces jointes

Re : VBA Incrémentation en fonction de valeurs variables

Pour la non réattribution je pense que je peux supprimer juste les données associées aux "réf" en laissant les "réf" intactes.
Il faudra quand même que je trouve un moyen pour ne pas remplir mes listbox ou combobox avec du vide sachant que j'aurai toujours les "réf" de renseignées.

Maintenant ça ne règle pas mon premier problème 😛
 
Re : VBA Incrémentation en fonction de valeurs variables

Re²,

Ben quoi, kjin est vraiment parti avec le seau, le tamis et le rateau!?
Une proposition (simple ... ça c'est à ma portée!). Puisqu'apparemment, il ne sera pas permis de créer d'éléments au-delà de S999, j'ai utilisé la feuille3 pour y stocker de S001 à S999, la valeur max du "Cxx" qui lui sera attribuée. Pas regardé au reste du code: juste modifié la ligne que tu avais mise en commentaire.

à tester vite (mais soigneusement) ... avant qu'une solution plus élégante ou pertinente vienne gâcher mon plaisir 😉

Edit: pas tenu compte (et pas bien compris) ton dernier message! Vais profiter du soleil!
 

Pièces jointes

Re : VBA Incrémentation en fonction de valeurs variables

Il a bien raison Kjin !! Perso c'est toujours quand il fait beau que je n'ai pas le temps de sortir moi 🙁

Sinon ça me plait bien comme solution, ça répond à ce que je voulais. Il y a peut-être d'autres solutions, mais celle-là ma convient plutôt bien, alors un grand merci 🙂

PS : pas de problème pour le dernier message, tu y as répondu et profites bien du beau temps 😉
 
- 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

Retour