Menu deroulant et lien hypertexte

salut tout le monde !!!

je suis novice sur excel...

j'ai un probleme je souhaite creer un menu deroulant dans lequel les elements selectionnes me renveront sur des endroit differents.(lien hypeertexte).de mon classeur.

j'arrive a creer le menu deroulant mais impossible de conserver le lien hypertexte au niveau de l'element s'electionné....

merci à l'avance j'espere que tout est clair...

encore merci!!!

Bonjour,

Merci de joindre un bout de ton fichier.

Amicalement

Nad

je te transmet vite fait un exemple de la situation....

j'espere que cela sera plus clair....

merci encore .....

https://www.excel-pratique.com/~files/doc/excel_gouffas34.xls

Re,

Place cette macro dans ta feuil1 en VBA comme suit :

  • ALT +F11 pour accéder à VBA
  • CTRL +R pour afficher VBA project
  • double clique sur feuil1 et mets cette macro à droite
  • ---------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'MACRO PAR Nad-Dan pour gouffas pour excel pratique

Dim x As String

x = Target.Value

If Target = Range("C9") Then Sheets(x).Select

End Sub

Quand tu cliqueras sur ta cellule C9 ça ouvrira la feuille concernée.

Si c'est sur D9 que tu dois ouvrir la feuille correpsondante, remplace C9 par D9.

Amicalement

Nad & Dan

Bonjour Nad-Dan

J'ai essayé ton code, ne serait -il pas plus facile de mettre

Worksheet_Change que Worksheet_SelectionChange comme ca dés que l'on choisis une feuille via le menu déroulant la feuille est directement sélectionnée.

A +

Bonjour Henri,

Si la dernière manip qui est effectuée est bien de vouloir changer de feuille, oui bien sûr.

Amicalement

Nad

merci pour ta reponse.....

mais cela ne resout pas mon probleme

le premier tableau ou il ya les menus deroulant est un tableau d'accueil un genre de sommaire.

la personne va choisir la machine qui l'interesse, pour realiser la maintenance dessus

ainsi en fonction de la machine choisie dans le menu deroulant il va tomber sur un tableau recapitulatif associé à la machine different pour chaque machine....

ainsi j'aimerai pourvoir avoir un lien entre la machine choisie et le tableau qui lui est associé

l'ensemble des tableau de maintenance son regroupé sur une page. mais a des endroit different.

ex : tableau maintenance calibreuse sheet 1 cellule A1

tableau maintenance ventouse sheet 1 cellule A150 etc.......

merci e,core pour ton aide.......

https://www.excel-pratique.com/~files/doc/EiYZ7excel_gouffas34.xls

je viens de comprendre que je me suis mal exprimé...

je vous renvoie le dossier avec quelques explication...

merci encore desole

re,

A lire ton dernier message et à voir ton fichier il faut que tu précises les choses.

Actuellement il y a deux feuilles Calibreuse et Ventouse qui laisse à supposer que le choix de la liste déroulante implique d'aller vers une de ces deux feuilles.

Dans ton message, tu dis que l'on va sur la même page mais à des endroits différents.

Lorsque l'on choisit une machine en C9, on va sur quelle feuille et dans quelle cellule ? Merci de préciser pour chaque option de la liste C9

A te lire

Dan

https://www.excel-pratique.com/~files/doc/Ukt6Xexcel_gouffas34.xls

voila j'ai essayé d'eetre clair.... desole je vous renvoie la nouvelle version....

Si je selectionne dans le menu deroulant du sommaire: Calibreuse

Je veux etre envoyé à l'onglet "prevention" et au tableau "maintenance calibreuse"

et

si je selectionne : Ventouse

Je veux etre envoyé à l'onglet "prevention" et au tableau "maintenance ventouse"

l'onglet reste le meme, seule change le placement des tableaux...

merci pour votre aide cela me sera tres utile........

;edit

Nad-Dan a écrit :

Re,

Dans ton fichier, remplace la macro que nous t'avons donnée précédement par celle ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range)
'Macro par Dan & Nad pour gouffas pour excel pratique
Dim x As String 
On error resume next
If Application.Intersect(Target, Range("C9")) Is Nothing Then End
x = "tableau maintenance " & Target
Sheets("maintenance").Select
ActiveSheet.Cells.Find(What:=x).Activate
End Sub

veille toutefois bien à ce que l'orthographe des noms dans ta liste déroulante corresponde bien à celle dans ta feuille "maintenance" :

  • 1 espace entre les noms tableau et maintenance
  • Corrige aussi maintenance à la cellule D38.

A te lire

Dan

merci pour le programme, ce dernier a parfaitement fonctionner sur l'exemple que je vous avez fait parvenir, mais lorsque que j'ai voulu le retranscrire sur le support de depart a chaque selection le message suivant s'inscrit:

" Object variable or with block variable not set"

impossible de trouver la solution a ce message d'erreur.....

merci pour tout......

gouffas34 a écrit :

merci pour le programme, ce dernier a parfaitement fonctionner sur l'exemple que je vous avez fait parvenir, mais lorsque que j'ai voulu le retranscrire sur le support de depart a chaque selection le message suivant s'inscrit:

" Object variable or with block variable not set"

impossible de trouver la solution a ce message d'erreur.....

merci pour tout......

Deux points pour ce problème.

1° - Tu n'as pas pris en compte la dernière version de la macro. Tu vas voir une ligne en plus : "On error resume next"

2° - Le message que tu as est dû au fait que tu n'as pas modifié tes noms dans les tableaux, à savoir :

a) un seul espace entre chaque mot (et non pas tableau--(2 espaces)maintenance calibreuse)

b) pas de fautes (exemple maintenace à la place de maintenance)

Il faut que tous tes titres commencent par tableau maintenance et tu ajoutes le terme de C9

A te lire

Nad

desole je suis un gros boulet, un espace manquant dans les lignes de programmation.....

juste une derniere question comment integrer cette commande a une autre cellule se trouvant sur le meme onglet faisant reference a une autre feuille du classeur?

j'ai essayer de faire un copier coller du proigramme en changeant les reference mais rien a faire sa ne fonctionne pas..... je ne dois pas resonner correctement je pense...

merci encore pour votre aide.........

Bonjour,

Je ne comprends pas ta demande.

"commande à une autre cellule" --> quelle commande, quelle cellule et quelle feuille ?

A te lire

Dan

https://www.excel-pratique.com/~files/doc/mBYtPexcel_gouffas34.xls

REGARDE LE LIEN...

j'espere que cela sera plus clair

peut on creer une nouvelle macro sur la meme fueille....

merci

Bonsoir,

Edition : Remplace ma précédente macro par celle-ci :

Private Sub Worksheet_Change(ByVal Target As Range)
'Macro par Dan & Nad pour gouffas pour excel pratique
Dim x As String
If Not Application.Intersect(Target, Range("C9")) Is Nothing Then
x = "tableau maintenance " & Target
Sheets("maintenance").Select
Else: x = "fiche technique " & Target
Sheets("fiche technique").Select
End If
ActiveSheet.Cells.Find(What:=x).Activate
End Sub

A te lire

Dan

Merci por ton aide....

voila j'ai essayer à partir de la formule que tu m'a donner de la faire fonctionner sur 4 cellules car dans mon programme le sommaire fonctionne avec 4 champs de selection, avec mon imcompetence en programmation impossible de trouver la solution.

je te fais parvenir le fichier

si tu as un moment.....

un grand merci par avance....

n'hésite pas situ as un souci de compréhension......

https://www.excel-pratique.com/~files/doc/xQmK7excel_gouffas34.xls

Bonsoir,

Il faudrait que tu me dises combien tu as de liste comme cela sinon il va falloir chaque fois retravailler la macro.

Au départ tu en avais une puis deux.

Là on est à quatre....

La liste maintenance amène vers quelle feuille ? la maintenance2 ?

Merci

Dan

Rechercher des sujets similaires à "menu deroulant lien hypertexte"