Sélectionner une cellule fonction zone liste déroulante

Bonjour à tous.

Je bidouille un peu les macros y a surement plus simple et là je bloque :

Je cherche à faire :

J'ai une zone liste déroulante (d'un tableau de la feuil2) avec une cellule lié (B5). Ce que je voudrais c'est que quand je lance ma macro c'est d'aller modifier sur ce tableau la colonne Y de la ligne correspondant a celle indiqué dans la zone liste.

Sur un précédent fichier j'avais fait une condition en début de macro qui disait :

Si B5=1 alors lance macro 1

Si b5=2 alors lance macro 2..... etc jusqu'à 50

et chaque macro était presque identique sauf que je modifiais la ligne pour être sur celle voulu.

Là j'ai plus de 500 lignes et je ne veux pas faire 500 macro...

Donc je suis sur qu'il y a quelque chose de super simple que je n'ai pas réussi à trouver sur le net.

Merci de votre aide.

Bonjour Rico,

L'énoncé du problème n'est pas tout à fait clair mais en effet, il est possible d'avoir une seule macro (enfin 2) qui dépend d'un paramètre, la valeur de B5 :

private sub worksheet_change(byval target as range)

if target.address = "$B$5" then
    if not target.value = "" then
        call macroparametree(target.value)
    end if
end if

end sub

sub macroparametree(ligne as integer)

Sheets("nomfeuille").range("Y" & ligne).value = quelquechose

end sub

La première s'exécute au changement de valeur en B5 et exécute la macro qui dépend de la valeur de B5 (cette seconde macro ne peut s'exécuter seule).

Cdlt,

Bonjour,

Merci 3GB de la réponse.

Après avoir fait le post j'ai continué à farfouiller et je pense avoir trouvé ça qui à l'air de fonctionner :

Dim i As Variant

Sheets("Recherche").Select 'feuille ou se trouve ma zone liste déroulante
Range("A22").Select ' cellule lié a ma zone liste
i = Range("A22").Value
Sheets("Listing").Select 'feuille ou je dois faire une modif dans mon tableau de valeur
ActiveSheet.Cells((i), 25).Select 'localisation de la cellule voulu

Et la je colle ce que je veux dans la cellule.

Je vais essayer tes lignes de codes pour voir si car d'une tu t'es donnée la peine de répondre et de 2 si je dois refaire quelque chose du genre y a moins à taper lol.

En tout cas merci beaucoup.

Cordialement,

Bonjour Rico,

Oui, tu peux essayer mais il faut juste adapter la macro paramétrée.

Et tant qu'on y est, tu pourrais simplifier ton code :

Sub rico()

Dim i as long
i = Sheets("Recherche").Range("A22").Value
Sheets("Listing").Cells(i, 25).value = "???"

end sub

Et n'hésite pas à utiliser les balises </> pour poster du code. Elles sont sur le ruban juste en haut quand on écrit un commentaire .

Rechercher des sujets similaires à "selectionner fonction zone liste deroulante"