Partie fixe et variable dans une liste déroulante

Bonjour le Forum

Peut-on créer une liste déroulant avec une partie fixe et variable?

Je n'y parviens pas à part répliquer la partie fixe.

Pouvez-vous m'indiquer si existe une solution.

Je joins un classeur avec les données

je vous en remercie d'avance

cordialement

Eric

Salut,

Je ne comprends pas le but de ta question. Vas-tu compléter les trois listes de base (Liste fixe, Liste variable 1 et Liste variable 2) dans le futur ? Ou seulement certaines d’entre elles ? Alors lesquelles ?

A te relire.

Bonsoir,

Un début de réponse en attendant plus de précisions.

Cdlt

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Dim monDico
    If Not Application.Intersect(Target, Range("F10")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        Application.ScreenUpdating = False
        Set monDico = CreateObject("Scripting.Dictionary")
        For Each c In [fixe]: monDico(c.Value) = "": Next c
        Select Case Target
            Case 1
                For Each c In [var_1]: monDico(c.Value) = "": Next c
            Case 2
                For Each c In [var_2]: monDico(c.Value) = "": Next c
            Case Else
                '
        End Select
        With [F14]
            .Validation.Delete
            .Validation.Add xlValidateList, Formula1:=Join(monDico.keys, ",")
        End With
    End If
    Set monDico = Nothing
End Sub

Bonjour au Forum

merci pour avoir répondu à ma question.

je joins un classeur avec plus de détail concernant vos questions

n'hésitez pas à me questionner si vous avez des doutes

cordialement

Re-bonjour,

Tu n’as pas vraiment répondu à mes questions, tu ne m’as pas dit si tes listes s’allongeaient régulièrement ou non. J’ai supposé que non.

Alors je ne comprends pas pourquoi tu veux combiner plusieurs listes entre elles avec des parties fixes et d’autres variables, puisque tu as déjà les trois listes finales à disposition dans les colonnes G, H et J.

J’ai alors placé des listes déroulantes pour chaque école (plages brune, verte et bleue) et j’ai masqué tes listes des colonnes G à J.

Pourquoi ce résultat simple ne te suffirait pas ?

A te relire.

Bonsoir Yvouille

les listes fixes et variables ne sont pas évolutives.

Le tableau représente 90 écoles et 500 classes

Intégrer une partie fixe et variable dans la liste déroulante évite de reproduire la partie fixe autant de fois qu'il y a d'école.

j'espére avoir répondu à ta question.

cordialement

Eric

Salut,

Peux-tu s'il te plait me fournir ton fichier avec ces 90 écoles et 500 classes ; ce sera plus facile pour t'aider à résoudre ton problème.

Si jamais ton fichier est trop grand, essaie de le comprimer. Autrement, passe par le site C-Joint http://cjoint.com/ en suivant les étapes ci-dessous.

A te relire.

c joint 2013

Bonjour,

Bonjour Yvouille,

Le meilleur moyen d'aider Eric est que celui-ci décrive précisément son problème.

J'ai répondu à sa question initiale. A savoir qu'il était possible d'intégrer une partie fixe et variable dans une liste déroulante.

Et j'attendais une réponse et un complément d'informations !?

Tu as posé des questions, qui sont restées sans réponse !?

Eric a envoyé un nouveau fichier qui n'apporte pas de précisions, mais qui pose de nouvelles questions !?

Alors, quel est l'objectif à atteindre ? Quel est le sujet du post ?

Nous n'avons pas à imaginer le problème d'Eric.

Eric doit le décrire précisément.

Eric doit nous aider à l'aider en reformulant son problème.

Cdlt

Bonsoir le Forum

Bonsoir Yvouille et Jean Eric

Désolé pour mon retard j'étais en déplacement.

Je joins le fichier avec les informations détallées.

Je suis à votre écoute pour plus d'informations.

cordialement

Eric

Bonsoir,

Sur la base de ton nouveau fichier, je te propose la solution ci-jointe.

Il y a une macro évènementielle qui se déclenche à chaque fois que tu sélectionnes une cellule de la plage C2:F368 de la feuille ‘Planification’. Si tu ajoutes des lignes à cette feuille, la plage réagissant à cet évènement est automatiquement élargie.

Cette macro évènementielle crée à chaque fois la liste déroulante nécessaire et tu l’as à disposition dans la cellule concernée.

Cette liste déroulante actualisée est formée ainsi : il y a toujours d’abord les données de la plage ‘A2:A & dernière ligne’ de la feuille ‘Lieux’ (plage qui peut être élargie sans problème). suivie des données correspondant à l’école concernée de la feuille ‘Locaux’ pour autant que cette école ne soit présente qu’une seule fois sur cette feuille et qu’il n’y ait pas de cellule vide dans la colonne B de cette feuille. Ainsi, si tu sélectionnes par exemple la cellule D177 de la feuille ‘Planification’, tu n’auras que les données de base de la feuille ‘Lieux’ suivies des données de la plage B147:B149 de la feuille ‘Locaux’, puisque pour l’école ‘ALPHONSE DUPREUX ELEM’, tu as une cellule vide en B150 de la feuille ‘Locaux’.

A chaque fois que tu sélectionnes une des cellules de la plage réagissant à la macro évènementielle, il y a un petit temps de réaction ; j’espère que ce ne soit pas gênant.

Autrement, ça va dans le sens désiré ?

A te relire.

Bonjour le Forum

Bonjour Yvouille

Je vous remercie pour la macro, elle correspond à mon besoin néanmoins je vais la tester et essayer de comprendre le code.

Je suis étonné que microsoft n'ai pas développé ce genre de problématique dans les listes déroulantes. Qu'en pensez-vous?

Encore merci

cordialement

Eric

Je trouve personnellement que c'est quand même assez spécial comme demande et que si Microsoft voulait couvrir toutes ces demandes particulières, il ne s'en sortirait probablement plus. Et puis j'en suis bien content, sinon on aurait plus de boulot et on devrait aller timbrer au chômage

Si ton fil est 'Résolu', indique-le comme tel en cliquant sur le petit V vert dans l'un de tes messages.

A la prochaine.

Salut,

Comme je n’aime pas trop passer en privé lorsque ce n’est pas nécessaire, je me permets de répondre à ta demande privée sur le Forum.

Ton problème est assez étonnant dans ce sens qu’il vient uniquement du fait qu’il manque la déclaration d’une variable dans le code.

Tu dois donc modifier la ligne

Dim Début As Integer, Fin As Integer

par

Dim Début As Integer, Fin As Integer, k As Integer

et ça fonctionne devrait fonctionner à nouveau.

Mais ce qu’il y a de très étonnant, c’est que j’avais testé mon fichier avant de le poster le 20 février, que tu semblais l’avoir testé toi-même selon ta réponse du 21 février et que tout semblait convenir. Alors pourquoi maintenant manque-t-il cette déclaration sur mon fichier du 20 février et sur ton fichier définitif ??????

Dans tous les cas je vois que tu as commencé à nettoyer ta colonne ‘TYPE de local et USAGE actuel’ sur la feuille ‘Locaux’ et que si tu continues, tu devrais bientôt avoir un fichier tout à fait utilisable

Si jamais ton fichier reçu en privé contient des données confidentielles, je remets en pièce jointe ton ancien fichier-exemple corrigé.

Cordialement.

Bonjour Yvouille

Merci pour le fichier avec le correctif fait.

Je pense avoir fais une mauvaise manipulation , n'ayant pas la connaissance du VBA je n'ai pas su le voir

cordialement

Eric

Rechercher des sujets similaires à "partie fixe variable liste deroulante"