XL 2016 Liste deroulante hypertexte

Captain NRJ

XLDnaute Nouveau
Bonjour,

je souhaiterais savoir s'il est possible sur excel 2016 de créer une liste déroulante avec des liens hypertexte svp ?

exemple : en A1 : "Allez a " et en B1 : choisir dans une liste déroulante un site parmi des sites grand public et être redirigés dessus automatiquement ?

Je vous remercie

Cordialement
 

Captain NRJ

XLDnaute Nouveau
Seconde requête :

Comment faire pour qu'un objet ne soit pas affecté par le déroulement vertical d'une feuille, c-a-d si je le met dans un coin en bas a gauche, qu'il n'en bouge pas lorsque je fait défiler.
J'ai déjà vérifier dans les propriétés : verrouiller, attacher a une cellule ou encore détacher d'une cellule etc, rien n'y fait.

a nouveau merci
 

Staple1600

XLDnaute Barbatruc
Bonsoir @Captain NRJ

Tu as essayé ceci ?
Formes.PNG
 

ThierryP

XLDnaute Occasionnel
Bonjour Captain NRJ, Staple1600,

Pour une liste déroulante avec liens hypertexte, je ne sais pas trop....
Pour "fixer" un objet, une solution bête : le mettre en ligne 1 et figer les volets.

Sinon, je fouille dans mes archives pour retrouver un truc pondu il y a bien des années avec l'aide précieuse des gourous de l'époque !
 

job75

XLDnaute Barbatruc
Bonjour le forum,

Pour la 1ère question :
VB:
Private Sub Worksheet_Change(ByVal Taeget As Range)
Dim Liste As Range, x$
Set Liste = [E1].CurrentRegion
With [B1]
    x = .Value
    .Hyperlinks.Delete 'RAZ
    .HorizontalAlignment = xlCenter 'facultatif, centrage
    .Interior.Color = vbYellow 'facultatif, couleur
    If x <> "" Then .Hyperlinks.Add .Cells, Application.VLookup(x, Liste, 2, 0), TextToDisplay:=x 'crée le lien
End With
End Sub
A+
 

Pièces jointes

  • Liste.xlsm
    15.9 KB · Affichages: 4

Captain NRJ

XLDnaute Nouveau
Bonjour ThierryP,

Malheureusement toute ma ligne 1 est rempli par mes en-têtes déjà, c'est pour ca que je pensais a un objet flottant dans un coin inferieur de ma feuille et qui ne soit pas affecté par le défilement vertical.

Bonjour Job et Piga25,
Merci mais j'aurais du préciser que je n'ai pas accès a du VBA ni aux macros, du coup cela ne fonctionne pas.
 

ThierryP

XLDnaute Occasionnel
Bonjour,

Bon, je reviens un peu tard mais pour le fun :

VB:
Sub Objet_Suiveur()
Dim Gauche As Integer, Haut As Integer, Ligne As Integer, Nb_Colonnes As Integer, X As Integer, Y As Integer
Dim Plage As Range

Ligne = 36 'N° de ligne de la position intiale de l'objet (coin supérieur) - A adapter
Y = 1 'N° de colonne de la position intiale de l'objet (coin gauche) - A adapter
Set Plage = ActiveWindow.VisibleRange
X = Plage.Item(ActiveWindow.VisibleRange.Columns.Count * Ligne).Row
Haut = -1: Gauche = -1
With ActiveSheet.Shapes("CommandButton1")
    If Haut < .Top And Haut > -1 Then GoTo suite1
    Haut = .Top
suite1:
    If Gauche < .Left And Gauche > -1 Then GoTo suite2
    Gauche = .Left
suite2:
    .Top = .Top + (Cells(X, Y).Top - Haut)
    .Left = .Left + (Cells(X, Y).Left - Gauche)
End With
End Sub
Avec un appel via Worksheet_SelectionChange
 

Captain NRJ

XLDnaute Nouveau
Bonjour,

Bon, je reviens un peu tard mais pour le fun :

VB:
Sub Objet_Suiveur()
Dim Gauche As Integer, Haut As Integer, Ligne As Integer, Nb_Colonnes As Integer, X As Integer, Y As Integer
Dim Plage As Range

Ligne = 36 'N° de ligne de la position intiale de l'objet (coin supérieur) - A adapter
Y = 1 'N° de colonne de la position intiale de l'objet (coin gauche) - A adapter
Set Plage = ActiveWindow.VisibleRange
X = Plage.Item(ActiveWindow.VisibleRange.Columns.Count * Ligne).Row
Haut = -1: Gauche = -1
With ActiveSheet.Shapes("CommandButton1")
    If Haut < .Top And Haut > -1 Then GoTo suite1
    Haut = .Top
suite1:
    If Gauche < .Left And Gauche > -1 Then GoTo suite2
    Gauche = .Left
suite2:
    .Top = .Top + (Cells(X, Y).Top - Haut)
    .Left = .Left + (Cells(X, Y).Left - Gauche)
End With
End Sub
Avec un appel via Worksheet_SelectionChange
Malheureusement je n'ai pas accès au VBA
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise