Macro et liste déroulante de choix

Résolu/Fermé
rapha1186 Messages postés 4 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013 - 3 juil. 2013 à 14:33
rapha1186 Messages postés 4 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013 - 17 juil. 2013 à 08:59
Bonjour,

C'est tout simple, je voudrais que la macro change la ligne de référence dans ma liste déroulante de choix. Plus précisemment, j'aimerais que lorsque je clique sur le bouton, auquel la macro est affectée, cela fasse descendre d'une ligne ma référence dans ma liste déroulante de choix.

Si quelqu'un peut m'aider...



A voir également:

7 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
7 juil. 2013 à 18:48
Bonjour
voici une proposition
https://www.cjoint.com/c/CGhsPl6ON3l
Vu que l'action doit être exécutée lors de l'appui sur un bouton, j'en conclu que la liste déroulante est soit un contrôle de formulaire, soit une validation de données.

voici donc les 2 cas de figures, libre à vous de l'adapter à votre appli.

Nota: quand on arrive en fin de liste, évidemment au remonte en début de liste

bonne réception

cdlt
0
Bonjour,

Désolé de ne répondre que maintenant mais j'étais en vacences.
Mon problème est quasiment résolu grâce à vous. En fait si je n'arrive pas à adapter votre macro c'est parce que les données de ma liste déroulante de choix ne sont pas sur la même feuille du classeur. Vous serez t'il possible de m'éclairer une nouvelle fois? Je ne sais pas si c'est très claire, n'hésitez pas à me poser des questions. Je vous donne une petite précision, dans mon cas, c'est validation de données.

Merci.
Raphaël
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
16 juil. 2013 à 17:54
Bonjour
il suffit de donner un nom à la liste qui se trouve sur l'autre feuille.
pour rester conforme au fichier que je vous ai fourni, il suffit de la nommer "Liste", mais vous pouvez mettre le nom que vous voulez, dans ce cas, il faudra remplacer le mot Liste dans la macro

Sub SelectionSuivante2()
    On Error Resume Next
    Liste = Range("A12:A15").Address
    Validation = Range("E3").Value
    Set c = Range(Liste).Find(Validation, LookIn:=xlValues)
    If c.Offset(1, 0).Value = "" Then
        Range("E3").Value = Range("A12").Value
    Else
        Range("E3").Value = c.Offset(1, 0).Value
    End If
End Sub


Au cas ou vous ne sauriez pas créer la liste, voici comment procéder
sur la feuille de la liste, sélectionnez toute la liste,
dans la zone de nom, (en haut à gauche de la barre de formule), tapez le nom de votre choix que vous voulez attribuer à la liste. validez par "Entrée" - la nouvelle liste est créée.
pour la validation de données, dans les options, sélectionnez "liste"
dans la zone source, tapez =liste (ou le nom que vous aurez choisi).
en espérant avoir été assez clair.
bonne soirée
cdlt
0
rapha1186 Messages postés 4 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
16 juil. 2013 à 18:07
Re,

Ce n'est pas exactement ça le problème... Dans votre macro on fait toujours référence aux cellules A12 à A15 de la feuille sur laquelle il y a le bouton mais si ces cellules sont sur une autre feuille cela ne fonctionne plus. Pour faire simple j'aimerais que sur une feuille il n'y ait que le bouton et la liste déroulante et tout le reste sur une autre feuille du même classeur.

Raphaël
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
16 juil. 2013 à 18:21
Exemple
la liste est sur la feuille 2, de la cellule A1 à A100

Liste = sheets("Feuil2").Range("A1:A100").Address

mettez le nom de votre feuille, et les adresse de départ et de fin de votre liste, tout simplement

essayez
0
rapha1186 Messages postés 4 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
16 juil. 2013 à 18:48
RE,

J'ai beau essayé je ne trouve pas d'où viens le problème.
Regardez sur le document: https://www.cjoint.com/?3GqsTtDucm5
peut-être verrez vous d'où vient le problème.
En tout cas merci de prendre le temps de me répondre.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
16 juil. 2013 à 19:49
et cette fois-ci

Sub SelectionSuivante2()
On Error Resume Next
Liste = Sheets("Feuil2").Range("A5:A8").Address
Validation = Range("E3").Value
Set c = Sheets("Feuil2").Range(Liste).Find(Validation, LookIn:=xlValues)
If c.Offset(1, 0).Value = "" Then
Range("E3").Value = Sheets("Feuil2").Range("A5").Value
Else
Range("E3").Value = c.Offset(1, 0).Value
End If
End Sub


A+
0
rapha1186 Messages postés 4 Date d'inscription mercredi 3 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
17 juil. 2013 à 08:59
Nickel merci,

A+
0