Macro en fonction du résultat d'une zone de liste déroulante.

mcp229

XLDnaute Junior
Bonsoir à tous et surtout BONNE ANNEE.

Je suis complètement dans une impasse, et je fais donc appelle à vos talents.
Je cherche à me déplacer dans une feuille excel au moyen d'une zone de liste déroulante.
Ex: Si je selection le 5 ème champs dans la zone je voudrais que je me retrouve à en endroit défini du document.


PS: je suis totalement novice en VBA
 

Pièces jointes

  • Devis 2014 V10 Tests.xlsx
    365.4 KB · Affichages: 92
  • Devis 2014 V10 Tests.xlsx
    365.4 KB · Affichages: 158
  • Devis 2014 V10 Tests.xlsx
    365.4 KB · Affichages: 169

Isab

XLDnaute Occasionnel
Re : Macro en fonction du résultat d'une zone de liste déroulante.

Bonjour

Peut-être comme ceci:

'-----------------------------
'Macro à placer dans un module
'Affecter cette macro au control liste deroulante
'Renseigner l'adresse de la cellule liée à la liste déroulante
'ici Sheets("FORMULES").Range("K7").Value
'-----------------------------
'Nommer les cellules cibles dans cette forme: Titre1, Titre2, etc...
'exemple:
'1) je nomme "Titre1" la cellule cible A63 de la feuil1 : =Feuil1!$A$63:$A$63
'2) je nomme "Titre2" la cellule cible A136 de la feuil1 : =Feuil1!$A$136:$A$136
'3) je nomme "Titre3" ...etc.. (dans ce classeur j'ai nommé les 5 premiers titres).

Code:
Sub Navig()
Dim ZT As Name
Dim Ref As String
Ref = "Titre" & Sheets("FORMULES").Range("K7").Value
For Each ZT In ActiveWorkbook.Names
  If ZT.Name = Ref Then Application.Goto Ref, scroll = True: Exit Sub
Next ZT
End Sub
 

Pièces jointes

  • Devis _Isab_test.xls
    764 KB · Affichages: 91

Regueiro

XLDnaute Impliqué
Re : Macro en fonction du résultat d'une zone de liste déroulante.

Bonsoir à Tous
Une autre variante
Mais au préalable il faut défusionner tes cellules F ou tu as les titres
Code:
Sub Zonecombinée1_QuandChangement()
With ThisWorkbook.Sheets("DEVIS").Shapes("Drop Down 1").ControlFormat
    MsgBox .Value: Rem retourne l'index
    MsgBox .List(.Value): Rem retourne le text
    Text = .List(.Value)
    MsgBox Text
End With
Range("F63:F1000").Find(Text, LookIn:=xlValues).Select
End Sub


Sub Flècheverslehaut1_Cliquer()
ActiveSheet.Range("D6").Activate
End Sub

Tu peux enlever les messages dans le code, juste pour contrôle.

Je t'ais mis une petite flèche pour le retour en haut
de page, tu peux la recopier sur les autres plus bas.

Ton fichier me paraît compliqué avec toutes ces formules :confused:

Tu devrais mettre une liste déroulante traditionnelle.
Regarde sur la feuille essai.

Bonne Soirée
A+
 

mcp229

XLDnaute Junior
Re : Macro en fonction du résultat d'une zone de liste déroulante.

Merci pour cette nouvelle option, mais j'ai beaucoup de variables et pour le moment c'est le seul moyen qu j'ai pu trouver (en fonction de mes connaissances...:))

PS: je ne vois pas ton fichier joint
 

mcp229

XLDnaute Junior
Re : Macro en fonction du résultat d'une zone de liste déroulante.

J'ai maintenant une nouvelle question:

Existe t il une macro simple pour supprimer les lignes vides de mon devis?
Je pensais mettre un bouton (réduire / Afficher) en haut de ma feuille.

Mais je dois peut être faire un nouveau post?
 

Pièces jointes

  • Devis 2014 V10 Tests.xlsx
    365.4 KB · Affichages: 122
  • Devis 2014 V10 Tests.xlsx
    365.4 KB · Affichages: 130
  • Devis 2014 V10 Tests.xlsx
    365.4 KB · Affichages: 122

Isab

XLDnaute Occasionnel
Re : Macro en fonction du résultat d'une zone de liste déroulante.

Bonjour Regueiro.. le forum...


Lorsque le texte recherché est introuvable.. cela provoque un bug
Outre mon premier code qui faisait l’affaire.. je me permet de rebondir sur ton code
Comme ceci:

.........

Sub Zonecombinée1_QuandChangement()

With ThisWorkbook.Sheets("DEVIS").Shapes("Drop Down 1").ControlFormat
Text = .List(.Value)
End With

Dim MonSommaire As Range
Set MonSommaire = Range("F63:F1000").Find(what:=Text)
If MonSommaire Is Nothing Then
MsgBox Text & " est introuvale !!!!", vbCritical
Else
MonSommaire.Select
End If

End Sub

..........
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 605
Membres
104 226
dernier inscrit
siala Mohamed