Liens hypertextes vers onglets en vba

89ric

XLDnaute Junior
Bonjour,
étant novice en programmation vba sur excel et ayant vainement cherché depuis plusieurs jours une solution à mon problème, je me vois contraint de vous demander de l'aide.
J'ai créé un fichier excel dans lequel sont répertoriées des notes d'élèves ainsi que diverses informations les concernant. Mon souhait serait de pouvoir en cliquant sur leur nom ou leur prénom apparaissant dans plusieurs feuilles aller sur leur fiche de renseignement.
J'ai également pensé au cas ou l'on ajoute un élève à la liste en cours d'année. Et donc j'aimerais, après avoir rajouté l'élève dans ma liste (feuille "saisie"), une macro me nommant les onglets par leur nom (ce qui est fait), me donnant les liens hypertextes demandés et enfin m'effectuant un tri alphabétique sur plusieurs feuilles (notes,...)
Je joins à mes explications le fichier concerné.
Merci pour votre aide.
 

Pièces jointes

  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 140
  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 147
  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 144
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Liens hypertextes vers onglets en vba

Bonjour.
Ma première impression, c'est qu'il vaudrait mieux n'avoir qu'une seule réelle feuille de fiche de renseignement. Elle serait munie d'une boîte de saisie avec liste pour choisir un élève ou en créer un. Elle travaillerait avec un tableau dans une autre feuille contenant tous les renseignements sur tous les élèves, moins lisible mais plus compacte. Qu'en pensez vous ?
On pourrait rendre la programmation assez légère et autoadaptative en se servant de noms de cellules de champs égaux aux noms de colonnes de la liste.
À+

P.S. et bien sûr il serait possible d'activer la fiche en simulant le choix automatique de l'élève dont on aurait cliqué sur le nom dans une autre feuille.
 
Dernière édition:

89ric

XLDnaute Junior
Re : Liens hypertextes vers onglets en vba

Bonjour, merci d'avoir répondu.
Le problème est qu'il faut que je puisse remplir manuellement chaque fiche d'élève (pour écrire le bilan d'une rencontre avec les parents par exemple) et tout écrire sur une seule feuille pour tous les élèves me parait compliqué.
Comment je pourrais créer un lien hypertexte des cellules B3 et C3 de la feuille "circulaire PP", B5 et C5 de la feuille "1° trimestre", B5 et C5 de la feuille "2° trimestre", etc.. le tout vers la feuille "ANDLAUER".
Merci d'avance.
 

Dranreb

XLDnaute Barbatruc
Re : Liens hypertextes vers onglets en vba

Bonjour
Mon idée était bien de pouvoir saisir dans la fiche unique les renseignements de l'élève.
Avec une programmation derrière veillant à mettre la liste à jour en conséquence.
Pour la 2ième question, il est possible de détecter et traiter le clic sur un lien hypertexte.
Mais il pourrait être plus avantageux d'avoir une barre d'outils dédiée à votre classeur,
dont un bouton demanderait d'interprèter la cellule sélectionnée comme un nom d'élève à mettre à jour.
À+
 

89ric

XLDnaute Junior
Re : Liens hypertextes vers onglets en vba

Bonjour,
il faut que je réfléchisse plus longuement à cette idée d'une feuille unique de renseignement. Par contre la saisie me paraît moins pratique et moins lisible et j'ai besoin que ce le soit (travaillant directement devant élève ou parent)
Pour la 2° question, votre solution n'est pas exactement ce que je cherche.
Je cherche une programmation en vba pour créer un lien hypertexte de plusieurs cellules de plusieurs feuilles vers un seul onglet.
Merci.
 

Theze

XLDnaute Occasionnel
Re : Liens hypertextes vers onglets en vba

Bonjour,

Pour insérer un lien hypertexte vers une autre feuille et cellule (pour moi Excel 2007 mais semblable dans les autres versions) : Onglet "Insertion", bouton "Lien Hypertexte", à gauche choisir "Emplacement dans ce document" puis renseigner l'adresse de la cellule et choisir la feuille cible.

Hervé.
 

89ric

XLDnaute Junior
Re : Liens hypertextes vers onglets en vba

Bonjour, merci pour l'info, mais je souhaite automatiser la création des liens (avec un bouton ensuite) pour que les liens fonctionnent après modification de ma feuille tout en sachant que j'en ai quelques centaines à faire à chaque fois.
Merci.
 

Dranreb

XLDnaute Barbatruc
Re : Liens hypertextes vers onglets en vba

Par contre la saisie me paraît moins pratique et moins lisible
Aucune différence. Une fois choisi l'élève concerné, on travaille sur la fiche comme si c'était une feuille qui lui était propre.
Simplement il n'y aurait qu'une feuille "physique" pour les x feuilles "logiques" d'élèves, réellement enregistrées, je vous l'accorde, sur une liste très peu adaptée à la saisie.
À+
 

Theze

XLDnaute Occasionnel
Re : Liens hypertextes vers onglets en vba

Re,

Avec la méthode "Hyperlinks.Add". A toi de voir à partir de ceci comment automatiser. Un exemple :
Code:
Worksheets("Feuil1").Hyperlinks.Add Range("A1"), _
                                    "", _
                                    "Feuil2!F3", _
                                    "Vers la cellule F3 de la feuille 2", _
                                    "Lien vers la cellule F3"

Hervé.
 

DoubleZero

XLDnaute Barbatruc
Re : Liens hypertextes vers onglets en vba

Bonjour, le Fil, le Forum,

Bonjour et bienvenue sur XLD :), 89ric !

Une suggestion en pièce jointe :

- création de liens vers chaque onglet ;

- ajout d'un onglet "Sommaire" dont l'emplacement est dynamique, pour une navigation plus confortable.

Bon courage.
 

Pièces jointes

  • 00 - 89ric - Liens hyper..zip
    135.8 KB · Affichages: 480

89ric

XLDnaute Junior
Re : Liens hypertextes vers onglets en vba

Bonjour,
je pense avoir trouvé une solution de programmation à mon problème mais que je n'arrive pas à programmer.
Je voudrais que pour toutes les cellules des colonnes B des feuilles 1 à 14, si elle contient le nom de la feuille 15, alors créer le lien hypertexte vers la feuille 15. Par exemple, pour la feuille 1, si le nom contenu dans la cellule B3 est le même que le nom de la feuille 15, alors créer le lien vers cette feuille. Je pense qu'il faut programmer cela avec 2 variables.
Merci de votre aide.
Ci-joint mon fichier.
 

Pièces jointes

  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 117
  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 112
  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 112

89ric

XLDnaute Junior
Re : Liens hypertextes vers onglets en vba

Merci double zero pour cette suggestion.
Ce n'est pas exactement ce que je cherche mais l'idée est très bonne et à défaut fera l'affaire.
Le souci est qu'il arrive très souvent que l'on intègre de nouveaux élèves dans la classe.
Et je dois donc mettre à jour la liste avec un classement par ordre alphabétique.
Donc sans passer par une macro, s'il n'y avait pas ce problème, je pourrais faire ce que je voulais faire au départ. Mais avec l'ajout d'un nouvel élève, ce n'est plus possible.

Aussi, il m'est venu une autre idée en passant par les noms d'élèves et d'onglets mais que je suis incapable de programmer :
Pour toutes les cellules des colonnes B des feuilles 1 à 14, si elle contient le nom de la feuille 15, alors créer le lien hypertexte vers la feuille 15. Par exemple, pour la feuille 1, si le nom contenu dans la cellule B3 est le même que le nom de la feuille 15, alors créer le lien vers cette feuille. Je pense qu'il faut programmer cela avec 2 variables.
Merci de votre aide.
Ci-joint mon fichier.
 

Pièces jointes

  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 160
  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 156
  • Modèle Notes PP v3.1.zip
    247.2 KB · Affichages: 182

LeMort

XLDnaute Nouveau
Re : Liens hypertextes vers onglets en vba

bonjour 89ric
Ton idée me semble ok et réalisable en vba :).
Je te joint un petit sub vba pour faire des liens. J ai essayer de bien détailler sur comment il fonctionne.
Ne saisissant pas trop les détails comment tu voulais procéder.
j'ai préférer de donner l'outil que tu pourras l'incorporer a la solution de ton code.
Je souhaite que ça répond a ton besoin de ne pas savoir comment faire des liens en vba
Bonne chance
LeMort


Public Sub Lien(ByVal Lf$, ByVal Lr$, ByVal cl$, Optional ByVal T$)
'**************************************************
' Ceci ajoute un lien dans la feuille ' Lf ' Colonne&Cellule ' Lr '
' vers la Feuille&Colonne&Cellule 'cl' ecrivant le contenu de'T' dans ' cl '
'
' Lf contiens le nom de la feuille qui recoit l'encrage du lien.
'
' Lr contiens l'adresse Range qui recoit l'encrage du lien ,
' c.a.d. le nom de la colonne et le # de la ligne ex: "A1".
'
' cl contiens l'adresse complete ou pointe le lien "'nom de la
' feuille'!adresse range"
'
' ex: "'Lafreniere Jean'!A1", a remarquer les deux apostrophes!
'
' Bien important, Si le nom de la feuille contiens un ou des espaces,
' ajout‚ avant et apres un apostrophe. Ceci a pour but que le nom
' soit considere par vba comme un ensemble et par le fait meme
' d'eviter des bugs du aux espaces.
'
' La derniere variable T, elle est facultavive. si elle existe , son
' contenu va s'inscrire a la cellule de la feuille ou pointe le lien
' c.a.d. cl
'LeMort
'*************************************************
On Error Resume Next
If T <> "" Then GoTo ok
On Error GoTo 0
Worksheets(Lf).Hyperlinks.Add Anchor:=Worksheets(Lf).Range(Lr), Address:="", _
SubAddress:=cl
Exit Sub
ok:
Worksheets(Lf).Hyperlinks.Add Anchor:=Worksheets(Lf).Range(Lr), Address:="", _
SubAddress:=cl, TextToDisplay:=T
End Sub
 

Discussions similaires

Réponses
7
Affichages
485

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo