Menu déroulant dans une cellule

Bonjour,

Je ne sais pas si cela est possible, mais j'aimerais savoir comment faire pour créer un menu déroulant dans une cellule, explications:

J'ai dans une colonne donnée de mon fichier Excel (la colonne D précisemment) des mnémoniques qui décrivent les variables d'un code.

Par exemple: "Débit d'une pompe de relèvement"

J'ai déjà un bout de Macro qui me permet de chercher des mots clés dans le mnémonique et de remplir une autre cellule, avec un offset, l'unité de mesure qui correspond.

Dans mon exemple: Ma macro va détecter le mot "débit" et va écrire dans la colonne Z: "m3/h" qui est son unité de mesure.

Mon problème est donc qu'il est possible d'avoir plusieurs unités de mesure pour un débit : "m3/h" , "l/h" ...

Je voudrais donc savoir s'il est possible qu'il y ait, dans la cellule cible, un menu déroulant me permettant de choisir entre une unité ou une autre.

Je vous mets la macro que j'ai, si elle peut vous aider à me répondre:

Sub Remplissage

Dim TM As Variant 'déclare la variable TM (Tableau des Mots)

Dim TC As Variant 'déclare la variable TC (Tableau des Correspondances)

Dim PL1 As Range 'déclare la variable PL (PLage)

Dim CEL As Range 'déclare la variable CEL (CELlule)

'définit le tablau des mots TM

TM = Array("consigne", "taux", "bit", "cadence", "tempo", "quence", "temps", "dur", "heure", "minute", "nombre", "concentration", "but plage", "pressi", "commut", "volume", "position", "ouvertu", "niveau", "densit", "oxy", "ch4", "h2s", "nh3", "ph", "tempé", "pes", "vite", "uv", "charg mass", "second", "turb", "irrad", "GSM")

'définit le tablau des correspondances TC

TC = Array("mg/l", "g/m3", "m3/h", "min", "s", "Hz", "min", "min", "heure", "min", " ", "g/l", "HHMM", "bar", " ", "m3", "%", "%", "m", "g/m3", "mg/l", "ppm", "ppm", "ppm", " ", "°C", "kg", "rpm", "W/cm²", "g/l", "sec", "NTU", "mS/cm", "db")

'définit la plage PL

Set PL1 = Sheets("Tr").Range("D1:D" & Range("D" & Rows.Count).End(xlUp).Row)

For Each CEL In PL1 ' boucle 1 : sur toutes les cellule CEL de la palge PL

For I = 0 To UBound(TM) 'boucle 2 : sur tous les mots du tableau des mots TM

'si le mot du tableau est contenu dans la cellule CEL, renvoie dans la colonne H le mot correspondant tu tableau des correspondances, sort de la boucle 2

If InStr(1, CEL.Value, TM(I), vbTextCompare) <> 0 Then CEL.Offset(0, 21).Value = TC(I)

Next I 'prochain mot de la boucle 2

Next CEL 'prochaine cellule de la boucle 1

Next CEL 'prochaine cellule de la boucle 1

End Sub

Bonjour

FGR a écrit :

Je vous mets la macro que j'ai, si elle peut vous aider

Ce qui aiderait davantage, c'est ton fichier...

Bye !

Bonjour,

voila le fichier excel :

7classeur2.xlsx (55.45 Ko)
Rechercher des sujets similaires à "menu deroulant"