XL 2019 Résultat d'une liste déroulante en cascade sans underscore "_"

murainesouspatate

XLDnaute Occasionnel
Bonjour à tous,
Je bute sur un petit problème que je n'arrive pas à résoudre. Dans une feuille "FACTURE", j'ai trois liste déroulantes en cascade qui m'affiche un résultat de plage nommée qui contient des underscore. Pour une raison d'esthétique, je souhaiterais remplacer les underscores par un espace. Voici un exemple :
1679262377057.png

j'ai essayé d'inclure dans la formule de la liste déroulante : SUBSTITUE("_";" ") mais n'y arrive pas car cela me met une erreur de formule.

Pourriez vous me donner un petit coup de pouce ?
 

Pièces jointes

  • Test liste déroulantes 3 niveaux.xlsm
    21.5 KB · Affichages: 4

djidji59430

XLDnaute Barbatruc
je suis revenu avec ta formule et elle fonctionne :
=INDIRECT(SUBSTITUE($B5;" ";"_"))
sauf que tu as inversé le "_" avec le " "
vu que tu démarres d'un texte sans _ pour les ajouter pour correspondre au nom de ta liste !

Crdlmt
 

Pièces jointes

  • Test liste déroulantes 3 niveaux.xlsm
    22.8 KB · Affichages: 10

murainesouspatate

XLDnaute Occasionnel
Je vous remercie beaucoup, car je ne comprenais pas la subtilité d'insérer substitue dans la 3ème liste déroulante, j'essayais de la placer dans la deuxième liste déroulante et je me faisait jeter à chaque essais.

Bien cordialement.
Vous m'avez bien aidé , à très bientôt
 

fanch55

XLDnaute Barbatruc
Pour répondre précisément à la demande initiale,
Pour une raison d'esthétique, je souhaiterais remplacer les underscores par un espace
On peut mettre dans le code de la feuille "Facture" :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set Lr = Columns("B").Rows(Rows.Count).End(xlUp)
    Select Case True
        Case Target.Cells.Count > 1
        Case Not Intersect(Target, Range("B4:B" & Lr.Row)) Is Nothing
            With WorksheetFunction
                Target.Validation.Modify Formula1:= _
                .Substitute(.TextJoin(",", True, ActiveWorkbook.Names(Target.Offset(0, -1).Value).RefersToRange), "_", " ")
            End With
    End Select
End Sub
Nota; la validation colonne C a été ajustée .
 

Pièces jointes

  • Test liste déroulantes 3 niveaux.xlsm
    30.4 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 108
Messages
2 085 369
Membres
102 875
dernier inscrit
Jimbo2374