Générer un nom de codification simple en VBA
man.delage
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
man.delage Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
man.delage Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous.
Débutant en VBA, je me heurte à un problème surement déjà résolu par nombre d'entre vous....je m'explique:
je voudrais générer une codification à partir d'un choix dans une ListBox par exemple. Jusque la j'arrive à me débrouiller (quoique...ça reste très moyen, je ne post pas l'exemple vous passeriez votre temps a rire :) ).
Le soucis c'est que j'ai plusieurs "code" dans mon nom exemple
Et je voudrais que les list box s'affichent au fur et à mesure que l'on avance dans le choix...
marque2 correspond à 002, modele12 à 012, le type mot à MOT, le lieu de prod Chinon à 004 etc
Si je savais joindre un exemple de fichier dans ce post...
voici ce que je voudrais obtenir :
002-012-MOT-004-006-a17
Merci d'avance pour vos réponses....
Débutant en VBA, je me heurte à un problème surement déjà résolu par nombre d'entre vous....je m'explique:
je voudrais générer une codification à partir d'un choix dans une ListBox par exemple. Jusque la j'arrive à me débrouiller (quoique...ça reste très moyen, je ne post pas l'exemple vous passeriez votre temps a rire :) ).
Le soucis c'est que j'ai plusieurs "code" dans mon nom exemple
Et je voudrais que les list box s'affichent au fur et à mesure que l'on avance dans le choix...
marque2 correspond à 002, modele12 à 012, le type mot à MOT, le lieu de prod Chinon à 004 etc
Si je savais joindre un exemple de fichier dans ce post...
voici ce que je voudrais obtenir :
002-012-MOT-004-006-a17
Merci d'avance pour vos réponses....
A voir également:
- Générer un nom de codification simple en VBA
- Iphone 14 simple - Guide
- Generer mot de passe - Télécharger - Sécurité
- Comment générer un qr code - Guide
- Nom de l'adresse ✓ - Forum Loisirs / Divertissements
- Incompatibilité de type vba ✓ - Forum Programmation
3 réponses
Salut man.delage,
Voilà un exemple de ce qui peut être fait, en limitant l'exemple à 3 ComboBox pour rester lisible :
Le classeur correspondant est là : https://www.cjoint.com/c/JBenQbTZqKZ
En gros :
Dal
Voilà un exemple de ce qui peut être fait, en limitant l'exemple à 3 ComboBox pour rester lisible :
Option Explicit Dim stCodeMarker As String Dim C1, C2, C3 As String Private Sub ReinitAll() stCodeMarker = "-- code : " ComboBox1.Clear With Feuil1.ComboBox1 .AddItem "marque2 -- code : 002" .AddItem "marque3 -- code : 003" .AddItem "marque4 -- code : 004" End With ComboBox1.Value = "" C1 = "" ComboBox1.Visible = True ComboBox2.Clear With Feuil1.ComboBox2 .AddItem "modele12 -- code : 012" .AddItem "modele13 -- code : 013" .AddItem "modele14 -- code : 014" End With ComboBox2.Value = "" C2 = "" ComboBox2.Visible = False ComboBox3.Clear With Feuil1.ComboBox3 .AddItem "mot -- code : MOT" .AddItem "cap -- code : CAP" .AddItem "top -- code : TOP" End With ComboBox3.Value = "" C3 = "" ComboBox3.Visible = False Range("C14").Value = "[choisir la marque]" End Sub Private Sub Workbook_Open() ReinitAll End Sub Private Function GetCode(ByVal st As String) Dim posCode As Integer posCode = InStr(st, stCodeMarker) GetCode = Mid(st, posCode + Len(stCodeMarker)) End Function Private Sub ComboBox1_Change() If ComboBox1.Value <> "" Then C1 = GetCode(ComboBox1.Value) ComboBox1.Visible = False ComboBox2.Visible = True Range("C14").Value = "[choisir le modèle]" Else C1 = "" End If End Sub Private Sub ComboBox2_Change() If ComboBox2.Value <> "" Then C2 = GetCode(ComboBox2.Value) ComboBox2.Visible = False ComboBox3.Visible = True Range("C14").Value = "[choisir le mot]" Else C2 = "" End If End Sub Private Sub ComboBox3_Change() If ComboBox3.Value <> "" Then C3 = GetCode(ComboBox3.Value) ComboBox3.Visible = False Range("C14").Value = C1 + "-" + C2 + "-" + C3 Else C2 = "" End If End Sub
Le classeur correspondant est là : https://www.cjoint.com/c/JBenQbTZqKZ
En gros :
- 3 ComboBox sont définies
- elles sont initialisées avec le contenu textuel et le code, seule la 1ère est affichée et la rubrique "Codification" demande à ce que la marque soit choisie
- lorsque la marque est choisie le code est extrait, la 1ère est masquée, la 2ème rendue visible et la rubrique "Codification" demande à ce que le modèle soit choisi
- lorsque le modèle est choisi le code est extrait, la 2ème est masquée, la 3ème rendue visible et la rubrique "Codification" demande à ce que le "mot" soit choisi
- lorsque le "mot" est choisi le code est extrait, la 3ème est masquée (toutes les ComboxBox sont alors masquées) et la rubrique "Codification" comporte la concaténation des codes correspondants aux 3 choix effectués
Dal
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je ne comprends pas ce que tu souhaites obtenir, pourrais-tu être plus factuel?
plusieurs éléments sont particulièrement peu clairs:
1) à quoi va servir la codification ainsi générée?
2) comment déterminer ce qui correspond à quoi
3) ce que tu essaies d'obtenir semble être une suite, bizarre, non?
joindre un fichier, c'est simple: tu publies le fichier sur internet (cjoint.com, google drive, ...), puis tu partages ici le lien vers le fichier.
plusieurs éléments sont particulièrement peu clairs:
1) à quoi va servir la codification ainsi générée?
2) comment déterminer ce qui correspond à quoi
3) ce que tu essaies d'obtenir semble être une suite, bizarre, non?
joindre un fichier, c'est simple: tu publies le fichier sur internet (cjoint.com, google drive, ...), puis tu partages ici le lien vers le fichier.
Bonjour, et merci pour votre intérêt !
1: c'est une codif interne simplifiée, permettant d'avoir un langage commun,sans fautes d'orthographe, fantaisie dans le noms etc.
2: déterminer. C'est un exemple mais un vlookup (nom cherché, lieu de recherche, 2, false)suffirait si on se base sur un tableau classe/é dans un ordre prédéterminé.
3: oui la suite est bizarre....mais c'est un langage que je pratique depuis 25 ans????
Je ne sais pas comment mettre un exemple dans cette conversation....
1: c'est une codif interne simplifiée, permettant d'avoir un langage commun,sans fautes d'orthographe, fantaisie dans le noms etc.
2: déterminer. C'est un exemple mais un vlookup (nom cherché, lieu de recherche, 2, false)suffirait si on se base sur un tableau classe/é dans un ordre prédéterminé.
3: oui la suite est bizarre....mais c'est un langage que je pratique depuis 25 ans????
Je ne sais pas comment mettre un exemple dans cette conversation....
En fin de sélection on a alors :
Les ComboBox de sélection étant masquées, mais pas les résultats intermédiaires sélectionnés.