IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Lien cliquable listbox [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 9
    Par défaut Lien cliquable listbox
    Bonjour,

    j'ai créé une fonction qui génère une listbox avec deux colonnes: la première contenant le nom, la seconde le lien correspondant. La fonction marche sans problème seulement les liens sont juste du texte. J'aimerais que les liens soit cliquable. Malheureusement je n'ai pas la moindre idée de comment faire ça...

    Y a-t-il un moyen de savoir ou je clique dans une listbox ( pour savoir sur quel lien je clique )?

    Ou vaut-il mieux directement afficher des "liens" plutôt que tu texte? J'essaye de créer une variable hyperlink mais rien de bien concluant. Je me retrouve avec un message d'erreur "erreur de compilation: Nombre d'arguments incorrect ou affectation de propriété incorrecte".

    Merci pour votre aide!

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    tu peux simuler un hyperlink, quand tu cliques sur une valeur dans ton listbox, ça génère un comportement identique et te renvoie là où devrait le faire l'hyperlink.

    à quoi ressemble ton code actuel ?
    les liens doivent pointer dans le même fichier ?

    il n'y a pas assez d'éléments pour t'aider plus précisément là

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 9
    Par défaut
    Je vais essayer de détailler un peux plus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub affichage(compteur_transaction() As transaction)
     
     If UBound(compteur_transaction) > 0 Then
        UserForm1.afficher_transaction.Visible = True
        For p = UBound(compteur_transaction) To 0 Step -1
            UserForm2.ListBox1.AddItem compteur_transaction(p).nom  'string
            UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 1) = compteur_transaction(p).present 'byte
            UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 2) = internet(compteur_transaction(p).nom, 5) 'string
        Next p
     Else
        UserForm1.afficher_transaction.Visible = False
     End If
    END sub
    Voici la fonction qui génère la listbox. J'ai oublié de préciser, les liens sont des liens internets.
    La fonction internet cherche le nom dans une feuille excel et renvoi le lien correspondant.

    Si il faut plus d'information n’hésite pas!

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    voici un petit exemple simple à adapter

    j'ai crée un classeur vierge
    j'ai inséré un lien hypertexte en A1 avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Lien()
     
    With Sheets("Feuil1")
        .Hyperlinks.Add anchor:=.Range("A1"), _
                        Address:="http://www.developpez.net/forums/f664/logiciels/microsoft-office/excel/macros-vba-excel/", _
                        TextToDisplay:="SITE DEVELOPPEZ"
    End With
     
    End Sub
    J'aurai pu en créer plusieurs, tous dans cette colonne, avec une boucle (mais ici c'est juste pour avoir de la matière)

    Ensuite j'ai crée un Userform avec uniquement une ListBox

    initialisation du userform : je charge le lien hypertexte (ou plutôt, le nom convivial du lien : "SITE DEVELOPPEZ")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
    Me.ListBox1.AddItem Sheets("Feuil1").Range("A1")
    End Sub
    Une boucle me permettait de charger plusieurs liens également

    ensuite, dans l'évènement Click du ListBox :
    - je détecte celui qui est sélectionné
    - sa position me permet de définir la ligne en colonne A où est situé l'hyperlien
    - et je Follow l'hyperlien dans la cellule
    - resultat : la page du forum Excel VBA de ce site s'ouvre dans mon navigateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub ListBox1_Click()
    For i = 1 To Me.ListBox1.ListCount
        If Me.ListBox1.Selected(i - 1) = True Then
            Sheets("Feuil1").Cells(i, 1).Hyperlinks(1).Follow True
            Unload Me
        End If
    Next i
    End Sub

    Ne reste qu'à adapter ceci à ton contexte complet, ce qui m'est impossible avec uniquement les éléments fournis

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 9
    Par défaut
    C'est bon, j'ai adapté ce que tu m'as donné! Ce n’étais pas si simple car les lignes de la listbox ne correspondent pas au ligne dans la feuille.

    Merci beaucoup pour les bouts de code !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien cliquable dans listbox
    Par sihammaster dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/12/2009, 12h34
  2. [RegEx] regex et lien cliquable
    Par Pallas4 dans le forum Langage
    Réponses: 1
    Dernier message: 22/09/2006, 12h57
  3. [Système] Créer un lien "cliquable"
    Par dams78 dans le forum Langage
    Réponses: 2
    Dernier message: 09/05/2006, 23h07
  4. [RegEx] lien cliquable
    Par Michel_57 dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2006, 22h57
  5. [RegEx] Problème pour transformer les url en liens cliquable
    Par AlphaYoDa dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo