lien hypertexte vers onglet excel

Laure3307

XLDnaute Nouveau
Bonjour, je suis une novice en VBA et j'ai un petit problème qui m'embête depuis une semaine.

Je pense que c'est un code très simple à faire, voilà l'idée :
A partir d'un UserForm (que j'ai simplifié ici pour voir plus précisément mon problème), je voudrais pouvoir ouvrir un lien hypertext sur la feuille 1 qui m'amènera vers un autre onglet que je lui aurais attribué.

J'ai essayé plusieurs lien hypertext et plusieurs codes pour savoir si c'était cela qui me bloquait, je ne sais plus quoi faire..
Je vous joints mon fichier
Merci de votre aide !!

Laure
 

Pièces jointes

  • Classeur1.xlsm
    25.5 KB · Affichages: 68

Lone-wolf

XLDnaute Barbatruc
Bonjour Laure :)

VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1").Hyperlinks
.Add Anchor:=Range("A1"), _
Address:="C:\Classeur1.xlsm", _
SubAddress:="Feuil3!A1"
End With
End Sub

Si tu veux ouvrir C:\Classeur1.xlsm et en A1 Tu met comme lien Google.com, c'est sûr que ça ne vas pas aller.
 

Laure3307

XLDnaute Nouveau
Bonjour Laure :)

VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1").Hyperlinks
.Add Anchor:=Range("A1"), _
Address:="C:\Classeur1.xlsm", _
SubAddress:="Feuil3!A1"
End With
End Sub

Si tu veux ouvrir C:\Classeur1.xlsm et en A1 Tu met comme lien Google.com, c'est sûr que ça ne vas pas aller.


Je ne comprends pas ce que tu veux dire.. Le lien Google n'est finalement pas mon sujet c'était pour tester si c'était seulement les liens vers le fichier excel qui bloquait ou tous les liens.. Mais je ne comprends quand même pas quel est le problème, désolé :/
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Laure :)

Si en A1 tu dit ouvre-moi Google et dans la macro tu met l'adresse du classeur, c'est sur que ça ne vas pas le faire. Il faut qu'il soit écrit la même chose.

En A1 met l'adresse complète du Bureau + Classeur2. Ensuite

VB:
Private Sub CommandButton1_Click()
With Sheets("Feuil1").Hyperlinks
.Add Anchor:=Range("A1"), _
Address:="C:\Users\" & Environ("Username") & " \Desktop\Classeur2.xlsm", _
SubAddress:="Feuil1!A1"
Workbooks.Open ([A1])
End With
Unload Me
End Sub
 

Laure3307

XLDnaute Nouveau
Après de nombreux essais, je n'y arrive toujours pas. Je vais posé une question bête que je n'arrive pourtant pas à trouver sur internet.
Tu me dis de rentrer l'adresse complète en A1, pourtant sur internet pour rediriger sur un onglet du même fichier excel il est écrit qu'il faut seulement commencer par le nom du classeur. Comment entres tu l'adresse complète en A1 ? Entre les "", [], ' et ! je suis perdue !
J'en suis a : =LIEN_HYPERTEXTE("[C:\Users\BUCILLL\Desktop\Classeur1.xlsm]\Feuil3!A1";"Feuil3")

Merci de m'accoder de ton temps !
 

Lone-wolf

XLDnaute Barbatruc
Re Laure

Si tu veux activer la cellule A1 de l'onglet 3 ou 4 ou 5 par exemple, pas besoin de lien pour ça.
Tu place cette macro dans la feuille 1.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ws As Worksheet
    If Not Intersect(Target, Columns("A:A")) Is Nothing And Target.Count = 1 Then
        Set cel = ActiveCell
        For Each Ws In Worksheets
            If Ws.Name = ActiveCell.Value Then
                Application.Goto Ws.Range("a1")
            End If
        Next Ws
    End If
End Sub
 
Dernière édition:

Laure3307

XLDnaute Nouveau
Re Laure

Si tu veux activer la cellule A1 de l'onglet 3 ou 4 ou 5 par exemple, pas besoin de lien pour ça.
dans la feuil1, en colonne A tu note le noms des feuilles; ensuite tu place cette macro dans la feuille.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ws As Worksheet
If Not Intersect(Target, Columns("A:A")) Is Nothing And Target.Count = 1 Then
For Each Ws In Worksheets
If Ws.Name = ActiveCell.Value Then Application.Goto Ws.Range("a1")
Next Ws
End If
End Sub

Qu'est ce qui est censé se produire ? Il ne se passe rien !
Mon but final étant que sur des données finales présentes dans un userform je puisse cliquer sur un commandbutton associé qui m'orientera vers un onglet précis pour que j'ai plus d'informations sur ce que je recherche.
Exemple :
BERNARD Julien "Commandbutton pour aller sur sa fiche"
PREVOT Dominique " Commandbutton.................................."

Les lignes ne sont pas fixes et Dominique PREVOT peut se trouver avant BERNARD Julien. Donc je pense que le lien hypertexte était le plus adapté.

Désolé encore
 

Lone-wolf

XLDnaute Barbatruc
Re

Tu as bien dit : pour rediriger sur un onglet du même fichier. C'est ce que fait la macro.
Si ce n'est qu'un seul Onglet, alors

With Sheets("Feuil10")
.Range("A15") = TextBox1
.Range("B15") = ComboBox2
.Range("C15") = TextBox3
etc.
End With

Si c'est plusieurs Onglets

VB:
With Sheets("Feuil10")
.Range("A15") = TextBox1
.Range("B15") = TextBox2
.Range("C15") = TextBox3
etc.
End With
With Sheets("Feuil11")
.Range("A15") = ComboBox1
.Range("B15") = TextBox4
.Range("C15") = ComboBox3
etc.
End With
 

Laure3307

XLDnaute Nouveau
Peux tu m'expliquer ce code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ws As Worksheet
If Not Intersect(Target, Columns("A:A")) Is Nothing And Target.Count = 1 Then
Set cel = ActiveCell
For Each Ws In Worksheets
If Ws.Name = ActiveCell.Value Then
Application.Goto Ws.Range("a1")
End If
Next Ws
End If
End Sub

C'est peut être ce dont j'ai besoin mais je n'arrive pas a l'utiliser.

Pour ce code :
With Sheets("Feuil10")
.Range("A15") = TextBox1
.Range("B15") = TextBox2
.Range("C15") = TextBox3
etc.
End With

Ca donnera qu'une seule cellule de l'onglet? J'ai des informations sur tout l'onglet donc il faut que je l'affiche.
J'ai l'impression de pas être très claire..
 

Lone-wolf

XLDnaute Barbatruc
Re

pour le 1er code: pour chaque feuille du classeur, si la valeur de la cellule est égale au nom de la feuille alors, active la feuille.

Pour le 2ème(et là on traîne en longeur) par-ce que tu n'explique pas au juste ce que tu veux. Si tu veux entrer - modifier - ou supprimer des données; ce n'est pas avec un seul bouton que tu vas y arriver. Il faut mettres des textbox des combobox etc pour le faire.

Avec le classeur exemple, séléctionne une des feuilles( en faux lien), puis clique sur le bouton. Dans la feuille active, clique sur Accueil. Avec formulaire test, regarde comme il se présente.
 

Pièces jointes

  • Classeur-test.xlsm
    24.9 KB · Affichages: 72
  • formulaire test.xlsm
    28.6 KB · Affichages: 77
Dernière édition:

Discussions similaires

Réponses
5
Affichages
156

Statistiques des forums

Discussions
311 709
Messages
2 081 779
Membres
101 816
dernier inscrit
Jfrcs