Excel - Ouverture de lien Hypertexte depuis UserForm

Bonjour à tous,

J'ai hésité pas mal de temps avant de demander mon aide ici (pour éviter de déranger pour un problème qui est probablement simple), mais après deux jours de recherches infructueuses, je me permets de vous demander votre aide ici.

Voici mon problème :

J'ai deux feuilles excel, "Recherche" et "Globale" dans un même classeur. La première feuille "Recherche" permet à l'aide du bouton "Recherche par n° de feuille" de chercher dans la feuille "Globale" le numéro entré par l'utilisateur puis sélectionne le lien Hypertexte se trouvant à 5 cases sur la droite du numéro, se faisant, je souhaiterais que le lien s'ouvre, cependant, rien n'y fait.

J'ai débuté VBA il y a peu, et je me bats comme je peux pour trouver des solutions à tous les problèmes que j'ai pu rencontrer mais cette fois, je viens à vous car je nécessite de l'aide.

Etant au travail, le pare-feu m'empêche de joindre un fichier, cependant, vous trouverez ci-dessous le code posant problème.

Je vous remercie par avance pour l'aide que vous pourriez apporter et je reste à votre disposition si vous avez la moindre question.

Private Sub CommandButton1_Click()

    code = TextBox1.Value

    Set Celltrouvee = Worksheets("Globale").Range("$B$5:$B$50").Find(what:=code, LookIn:=xlValues, lookat:=xlWhole)
    If Celltrouvee Is Nothing Then
        MsgBox "La feuille " & code & " n'existe pas."

    Else
        Sheets("Globale").Activate
        Celltrouvee.Select
        ActiveCell.Offset(0, 4).Select
        Worksheets("Globale").ActiveCell.Hyperlink.Follow NewWindow:=True

    Unload UserForm1
    End If

Bonjour,

À tester :

Private Sub CommandButton1_Click()
Dim Cel As Range

code = TextBox1.Value

For Each Cel In Worksheets("Globale").Range("$B$5:$B$50")
   If Cel.Value = code Then
      Cel.Offset(0, 4).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
      Unload UserForm1
   End If
Next Cel
MsgBox "La feuille " & code & " n'existe pas."
End Sub

Gelinotte

Bonjour, je m'excuse pour la réponse tardive, j'en avais presque oublié mon message sur ce forum.

Je te remercie pour ta réponse, je vois que tu as pu éliminé de nombreuses lignes superflus de mon code, cependant, je n'arrive pas à le faire fonctionner...

Cependant, j'ai eu tout le loisir de chercher pendant ce mois et demi et je poste mon code ici pour les générations futures qui auraient le même problème que moi. Je pense qu'il reste encore pas mal de travail à faire sur mon code (qui fonctionne néanmoins), du coup si toi ou n'importe qui a des idées pour le simplifier et le rendre plus "sexy", ce serait avec plaisir.

Voici mon travail :

Dim NuméroUtilisateur As Variant
Dim NuméroRecherché As Variant
Dim NomReporting As String
Dim CheminTotal As String
Private Sub CommandButton1_Click()
'Ouvre TextBox1 demandant à l utilisateur d entrer un numéro de feuille de reporting

'"NuméroUtilisateur" prend alors la valeur de la TextBox1
    NuméroUtilisateur = TextBox1.Value

'Recherche la valeur de "NuméroUtilisateur" dans la feuille "Listing" dans les cellules de A7 à A200
    Set NuméroRecherché = Worksheets("Listing").Range("$A$7:$A$200").Find(what:=NuméroUtilisateur, LookIn:=xlValues, lookat:=xlWhole)

'Si l utilisateur rentre un numéro qui n'existe pas, alors le message "Entrez un numéro de feuille valide" s'affiche
    If NuméroRecherché Is Nothing Then
        MsgBox "Entrez un numéro de feuille valide."
    Else

 'Si l'utilisateur ne rentre aucun numéro, alors le message "Entrez un numéro de feuille" s'affiche
        If NuméroRecherché = "" Then
        MsgBox "Entrez un numéro de feuille."

'Sinon, active la feuille "Listing"
'Selectionne la valeur "NuméroRecherché"
        Else
            Worksheets("Listing").Activate
            NuméroRecherché.Select

'La variable "CheminTotal" prend la valeur de la cellule située à 5 colonnes à droite de la cellule sous la forme X:\Y\Z
'La variable "NomReporting" Prend la valeur de la cellule située à 4 colonnes à droite de la cellule fichier.xl*
'Ouvre le fichier à l'aide du lien Hypertexte contenu dans la variable "CheminTotal"
'Active le précédemment ouvert, à l'aide du nom du fichier contenu dans la variable "NomReporting"
'Sélectionne la première cellule A1 du fichier précédemment ouvert
            CheminTotal = ActiveCell.Offset(0, 5).Value
            NomReporting = ActiveCell.Offset(0, 4).Value
            Workbooks.Open Filename:=CheminTotal
            Workbooks(NomReporting).Activate
            Range("A1").Select

'Ferme l'UserForm1
    Unload Recherche_num

            End If
    End If
End Sub

Cordialement,

vasille

Rechercher des sujets similaires à "ouverture lien hypertexte userform"