Microsoft 365 Contenu d'une liste déroulante à partir d'autres listes déroulantes.

blancolie

XLDnaute Impliqué
Bonsoir le forum,

j'aimerais créer une liste déroulante dans la colonne agent (F9) et que son contenu fasse apparaître les éléments de la liste 1 et liste 2 dans cette fameuse liste déroulante.

je vois des tutos liste déroulante en cascade mais ce n'est pas vraiment ce que je recherche.

Merci de votre aide.
 

Fichiers joints

djidji59430

XLDnaute Barbatruc
Bonjour à tous,

Ton exemple n'est pas parlant
remplis donc ta liste a la main pour faire voir ce que tu veux !

Crdlmt
 

job75

XLDnaute Barbatruc
Bonsoir blancolie, djidji59430,

Je comprends que vous voulez mettre les 2 listes l'une à la suite de l'autre, alos voyez ce fichier.

A+
 

Fichiers joints

blancolie

XLDnaute Impliqué
cool Job75 et merci

du travail à venir pour l'adapter dans mon fichier astreinte mais c'est cela que je recherche. C'est parfait.

le but de ces 2 listes c'est de diférencier les agents qui vont effectué les astreintes et les cadres d'astreintes;

En tout cas merci
 

blancolie

XLDnaute Impliqué
Rebonsoir,

la liste (N) n'est pas extansible, quand on arrive a la fin du tableau jaune, cela s'arrête. je pense qu'on peut l'agrandir soit-même mais y a t il un moyen de le faire automatiquement?

si on faisait des tableaux structurés pour la liste 1 et 2, seront nous obligé d'utiliser les fonction décaller ?
 

job75

XLDnaute Barbatruc
si on faisait des tableaux structurés pour la liste 1 et 2, seront nous obligé d'utiliser les fonction décaller ?
Essayez et vous verrez les avantages et les inconvénients.

On peut aussi utiliser le VBA mais à mon avis ça ne vaut pas le coup.
 

blancolie

XLDnaute Impliqué
Peut- on utilser le vba pour ajouter autant de ligne (N) qu'on rajoute des données dans la liste 1 et 2 ?
 

job75

XLDnaute Barbatruc
Oui mais comme je viens de le dire ça ne vaut pas le coup donc ça ne m'intéresse pas.
 

blancolie

XLDnaute Impliqué
ok je te remercie, je vais essayer avec les tableaux structurés pour voir les avantages/inconvénients .

je te remercie en tout cas.
 

blancolie

XLDnaute Impliqué
Bonsoir,

bon j'ai essayer avec les tableaux structurés et actuellement je vois que du positif car le tableau "liste" s’alimente tout seul. l'inconvenient c'est que les bordures n'apparaissent pas. Ce qui est drôle, c'est que dans fichier post4, dans validation données , inscrire "=Liste" cela fonctionne alors que dans le fichier ci-joint, cela ne marche pas. comment fait on également pour que les bordures apparaissent toutes seules.

merci
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonjour blancolie, le forum,

Pour vous éviter de vous triturer inutilement les méninges voyez le fichier joint et cette macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim liste$(), tablo, e, n&
If FilterMode Then ShowAllData 'si la feuille est filtrée
'---liste à partir des colonnes sources---
ReDim liste(1 To Rows.Count, 1 To 1)
tablo = Range("L13", Range("L" & Rows.Count).End(xlUp)(3)) 'matrice, plus rapide, au moins 2 éléments,
For Each e In tablo
    If e <> "" Then n = n + 1: liste(n, 1) = e
Next
tablo = Range("M13", Range("M" & Rows.Count).End(xlUp)(3)) 'matrice, plus rapide, au moins 2 éléments
For Each e In tablo
    If e <> "" Then n = n + 1: liste(n, 1) = e
Next
'---restitution---
Application.EnableEvents = False
With [I13] '1ère cellule de restitution, à adapter
    If n Then
        .Resize(n) = liste
        .Resize(n).Name = "Liste" 'plage nommée
    End If
    .Offset(n).Resize(Rows.Count - n - .Row + 1).ClearContents  'RAZ en dessous
End With
Application.EnableEvents = True
End Sub
Comme vous le voyez aucun tableau structuré n'est utilisé.

Edit : testé avec 140 000 données sources, la macro s'exécute en 0,15 seconde.

A+
 

Fichiers joints

Dernière édition:

djidji59430

XLDnaute Barbatruc
Bonjour à tous,

C'est plus simple de mettre les listes a la suite, et de transformer en tableau structuré. On ajoute pour les astreintes, on insere pour les agents .....

Crdlmt
 

Fichiers joints

blancolie

XLDnaute Impliqué
bonsoir le forum,

je reviens sur cette discussion car j'aimerais dans ce fichier ci-joint rajouter autant de ligne dans le tableau liste et qu'elles affichent le contenu des 2 autres tableaux (agent et astreinte) ( tout en conservant les les formats et cellules) qu'il y de ligne dans les tableaux agent et astreinte. bien sur, il faut que ds ces 2 tableaux (agent et astreinte), les lignes soient remplies.

merci pour votre aide.
 

Fichiers joints

Dernière édition:

job75

XLDnaute Barbatruc
Bonjour blancolie, le forum,

Avec 3 tableaux structurés le VBA est en effet bien plus simple, fichier (2) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next 'si aucune SpecialCell
[Liste].Clear 'RAZ
[Agent].Copy [Liste].Cells(1)
[Astreinte].Copy [Liste].Cells([Agent].Count + 1)
[Liste].SpecialCells(xlCellTypeBlanks).Delete xlUp 'supprime les cellules vides
Application.EnableEvents = True
End Sub
Notez que la liste de validation en F13 est définie par =INDIRECT("Liste")

A+
 

Fichiers joints

blancolie

XLDnaute Impliqué
cool bien pensé les couleurs ? peut on faire pareil dans la liste déroulante ?

Je vois que tu as cré un module et je vois range("E16"), cela tombe sur une cellule vide dans la colonne permanence, Pourquoi ? Pourqui autant de ActiveWorkbook.Save ?
 
Dernière édition:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas