• Initiateur de la discussion Initiateur de la discussion juju
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

juju

XLDnaute Nouveau
bonjour,

j'ai réalisé un tableau avec une recherche rapide en haut de celui ci.
( =INDEX($A$7:$D12;EQUIV($A$6;$A$7:$A12;0);COLONNE(B$1)) ).
j'ai joint un lien hypertexte pour chaques références mais imposible de le lire, comment dois je procédé??
ensuite est ce possible que je fige mes 3 premières lignes, ainsi quand je descend dans le tableau, j'aurais toujours mes Titres (ligne 3)

merci de votre aide
 

Pièces jointes

Re : lien hypertexte

Bonsoir Juju, Stefan

Pour la partie hyperlink. A tester en collant ce code dans le module de la Feuil1.

Si la référence saisie en A5 a été trouvée, le lien est ouvert (enfin chez moi déjà).

Cordialement

KD

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
  If Target.Row = 5 And Target.Column = 1 Then
        If Not IsError(Cells(5, 2)) Then
            i = 9
            Do
                If Cells(i, 1) = Cells(5, 1) Then Worksheets("Feuil1").Range(Cells(9, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)).Hyperlinks(i - 8).Follow
                i = i + 1
               If i > Cells(Rows.Count, 1).End(xlUp).Row Then Exit Do
            Loop Until Cells(i, 1) = Cells(5, i)
        End If
    End If
End Sub

Edit : ajout d'une ligne pour éviter de se promener jusqu'en bas de la feuille quand la référence saisie n'est pas dans la liste...
 
Dernière édition:
Re : lien hypertexte

Bonjour Juju,

Oui et :

-Alt + F11

-Dans la fenêtre Projets - VBA Project (si elle n'apparait pas Ctrl+R) repère ton classeur

-Si nécessaire clique sur les petites croix jusqu'à' a faire apparaitre l'arborescence des feuilles et de ThisWorkbook

-Si nécessaire double click sur la Feuil1 (ou de la feuille contenant ton tableau)

-Coller le code dans la fenêtre dans la grande fenêtre blanche principale

Cordialement

KD
 
Re : lien hypertexte

j'ai une erreur dès que j'enregistre ce code.
"les fonctionnalités suivantes ne peuvent pas être enregistrées dans des classeurs sans macro: Projet VB
Pour enregistrer un fichier avec ses fonctionnalités, cliquez sur non. puis sélectionner un type de fichier prenant en charge les macros dans la liste type de fichier
pour continuer à enregistrer en tant que classeur sans macro cliquez sur oui "!!

pourtant j'ai bien suivi la procédure.
 
Re : lien hypertexte

merci ça marche!!
j'ai un autre tableau mais cela ne fonctionne pas, peux tu m'expliquer à quoi correspond chaque ligne pour que je puisse réussir sur mon second tableau. problème rencontré erreur d'éxécution "9" l'indice n'appartient pas à la sélection.

merci de ton aide
 
Re : lien hypertexte

Bonjour Juju,

La macro marchera mais pourrait être lente si:
_ il y a des données parasites en colonne A qui ne font pas partie du tableau
La macro ne marchera pas, ou risque d'afficher un mauvais lien si:
_ Il y a des cellules colonne A du tableau qui n'ont pas de lien
(pour éviter ça je te propose une correction en fin de message)

Le code:

Cette macro se déclenchera quand il y aura un changement dans la feuille dont le module la contient.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
On appellera i un entier relatif dont la valeur absolue peut aller jusque 2 147 483 647
VB:
Dim i As Long
Si la cellule qui a changée est A5 (Dans l'exemple particulier, cellule ou l'on saisit la valeur cherchée) alors exécuter les instructions qui suivent jusqu'au dernier End If
VB:
If Target.Row = 5 And Target.Column = 1 Then
Si la formule de la cellule ligne 5 colonne 2 n'est pas une erreur (dans l'exemple particulier cela veut dire que la valeur saisie à été trouvée) alors effectuer les instructions suivantes jusqu'à l'avant dernier end if
VB:
If Not IsError(Cells(5, 2)) Then
i prends la valeur du numéro de la 1ère ligne du tableau contenant les données)
VB:
i = 9
Début de boucle
VB:
Do
Si la cellule ligne i colonne A est égal à A5 alors, dans la zone, colonne A, qui va de la première ligne du tableau jusqu'à la fin du tableau, suivre le (i-8)ème lien.
VB:
If Cells(i, 1) = Cells(5, 1) Then Worksheets("Feuil1").Range(Cells(9, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)).Hyperlinks(i - 8).Follow
On augmente la ligne d'étude en cours
VB:
i = i + 1
Si i dépasse la fin du tableau, sortir de la boucle
VB:
If i > Cells(Rows.Count, 1).End(xlUp).Row Then Exit Do
Marqueur de fin de boucle, on sort de la boucle si la cellule ligne i colonne A correspond à la valeur saisie en A5, sinon revenir au Do
VB:
Loop Until Cells(i, 1) = Cells(5, i)
Fermeture de la 2ème condition si
VB:
End If
Fermeture de la 1ère condition si
VB:
End If

Correction proposée:
remplacer:
VB:
Dim i As Long
par
VB:
Dim i As Long, R As Range
(on appelera R un objet représentant une plage de cellule)

Remplacer:
VB:
If Cells(i, 1) = Cells(5, 1) Then Worksheets("Feuil1").Range(Cells(9, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 1)).Hyperlinks(i - 8).Follow
par:
VB:
If Cells(i, 1) = Cells(5, 1) Then
                    Set R = ActiveSheet.Range(Cells(i, 1), Cells(i, 1))
                    If R.Hyperlinks.Count > 0 Then R.Hyperlinks(1).Follow
                End If
(la condition si ne change pas)
(la plage de cellule R sera la cellule ligne i colonne A)
(si il y a au moins un lien dans l'objet plage ouvrir le premier)
(Fermeture de la "ème condition si)

Cordialement

KD
 
Re : lien hypertexte

j'apprends de nombreuses choses intéressantes sur excel grâce au macro code formules etc!!!
merci pour ton aide!!! pour mon premier tableau tout fonctionne correctement. Cependant dans mon second tableau, ça fonctionne jusqu'au moment où j'ai une ligne de séparation. voir copie tableau !!
 

Pièces jointes

Re : lien hypertexte

Bonsoir Juju,

je n'ai pas constaté de dysfonctionnement dans avec le classeur fourni, j'ai testé les 6 lignes.. Peux tu joindre le fichier (données confidentielles remplacées par des données bidons mais significatives des données originales) posant souci. Et si il y a un message d'erreur décrit le en précisant la référence que tu as saisie lors de l'erreur (évidement si il fait des erreurs partout ce dernier point n'est pas essentiel 🙂 Si le fichier est trop gros pour le forum ( Cijoint.fr - Service gratuit de dépôt de fichiers )

Cordialement

KD
 
Re : lien hypertexte

j'essayerais le fichier lundi ou mardi !!! et je te tiens au courant de suite .
je voudrais savoir comment as tu appris tous ces codes formules macros etc sur excel, car je suis très intéressé et aimerais avancer d'avantage.
 
Re : lien hypertexte

Bonjour Juju,

Ben l'aide d'Excel (qui était bien faite avant 2007 et reste utilisable), téléchargement de faqs, dossiers et tutoriels, un gros pavé de chez Wrox "Programmer's Reference" (dont je me suis surtout servi quand je n'avais pas internet, et des requêtes web du genre 'Excel vba cellule suivre hyperlink' ou 'Excel vba "dernière ligne"' pour prendre des exemples dans ton code.

Cordialement

KD
 
Re : lien hypertexte

bonjour,

voici mon second tableau, en effet j'ai des lignes vierges pour séparer des références. Si je rempli ces lignes vierges ca fonctionne.
Mais je préférerais laisser ses lignes vierges pour pouvoir mieux dissocier des références.
est ce que laisser des lignes vierges est ce possible avec cette formules??

merci de ton aide
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
599
Réponses
1
Affichages
571
  • Question Question
Autres excel
Réponses
8
Affichages
840
Retour