Macro qui lis un Hyperlien

Bonjour,

Voici ce que je tente de faire :

Le fichier est un mini exemple de mon fichier beaucoup plus volumineux: J'ai des semaines en filtre. et lorsque l'utilisateur entre une semaine ( 1 à 52 ) j'aimerais que la macro filtre ou il y a des X et copie, la ligne associée au hyperlien qui donne sur une autre page (Taches) sur une nouvelle page facilement imprimable ou encore sur un doc Word.

Par exemple si la semaine sélectionnée est 4, les lignes 2,3,4 de la feuille taches devrait être copiés alors que si la semaine choisie est 2, que la ligne 3 de la feuille Taches serait copier.

Je réussi avec une loop à cerner que les lignes avec un X et selectionner les lignes correspondantes en colonne A, mais le reste avec le lien et le copie paste sur un word je n'y arrive pas.

En fait si vous avez une idée pour faire une macro qui click sur une cellule ca pourrait être bien. Pas seulement le select mais qui peut clicker sur mon hyperlien.

Merci

30taches-test.xlsm (11.80 Ko)

Bonjour,

à tester,

Application.Goto Range(Sheets("Calendrier").Hyperlinks(1).SubAddress)

Bonjour,

à tester,

Application.Goto Range(Sheets("Calendrier").Hyperlinks(1).SubAddress)

Bonjour SabV,

Ce code fonctionne, mais qu'arrive t-il si le hyperlinks n'est pas le (1). Par exemple dans ma feuille j'ai plusieurs hyperliens et lorsque j'arrive par exemple à la cell (8,3) de ma loop, je voudrais que le hyperlink qui ouvre soit lui de la cell(8,1). Mais ce n'est pas nécéssairement le hyperlien 8.

Est-ce possible de faire

Application.Goto Range(Sheets("Calendrier").Hyperlinks(cells(8,1)).SubAddress)

Et comment faire pour voir dans mon fichier les hyperliens ont quel numéro ? 1 à n ? Merci

Bonjour,

je vois que tu as défini des plages nommées en plus de faire des hyperliens

tu peux utiliser tes plages nommées

Sub aargh()
    For i = 2 To 4
        MsgBox Range(Cells(i, 1))
    Next i
End Sub

Bonjour

Je ne vois pas trop l'intérêt d'un hyperlien pour ceci :

si la semaine sélectionnée est 4, les lignes 2,3,4 de la feuille taches devrait être copiés

Tu peux tester tes croix en fonction de la semaine sélectionnée et copier ce qui t'intéresse.

On ne peut pas activer 3 hyperliens en même temps...

Je suis peut-être idiote , mais quelque chose m'échappe

A+

Bonjour,

Le lien de la cellule sera toujours Hyperlinks(1)...

Application.Goto Range(Sheets("Calendrier").Cells(8,1).Hyperlinks(1).SubAddress)

...mais je n'ai toujours pas compris ce que tu veux faire exactement !

En effet MFerrand le hyperlink est toujours 1 :

Voici mon code peut etre ca peut vous aider à comprendre

'Copie des tâches
For Each Cell In taches
    If Cell <> "" Then
        RowCount = Workbooks(wbname).Worksheets(WsName).Cells(Rows.Count, 1).End(xlUp).Row
        Application.Goto Range(Sheets("Calendrier").Hyperlinks(Cell.Row).SubAddress)
        Workbooks(wbname).Worksheets("TÂCHES").Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 5)).Copy
        Workbooks(wbname).Worksheets(WsName).Cells(RowCount + 1, 1).PasteSpecial Paste:=xlPasteAllUsingSourceTheme

    End If
Next Cell

Mais mon hyperlien me donne toujours la même chose. Je voudrais que le lien suive ma loop

Bonjour

J'ai créé une feuille semaine où je mets toutes les lignes copiées en fonction de la semaine ...

Est-ce que cela se rapproche de ce que tu veux ??

24taches-test-v1.xlsm (20.22 Ko)

Bye

Merci Patty5046

Ce code fonctionne bien dans l'exemple est exactement ce que je voulais, par contre quand je l'essaie sur mon fichier original, je ne comprends pas pourquoi mon Application.Goto ; ne va pas sur mon lien hypertexte dans l'autre feuille mais fait plutôt que selectionner le lien dans la feuille calendrier et copier ce lien ?

Voir code en test :

Sub test()

wbname = ActiveWorkbook.Name

Application.Goto Workbooks(wbname).Worksheets("CALENDRIER").Cells(9, 12)

Selection.Copy

End Sub

Bonjour oly111, Bonjour à tous,

si les liens sont tous dans une seule colonne et commence à la ligne 2

à tester,

Application.Goto Range(Sheets("Calendrier").Hyperlinks(cell(8,1).row - 1).SubAddress)

Bonjour à tous,

Je crois qu'il y a confusion ; voir mon fichier et ma macro pour comprendre ou j'en suis dans mon raisonnement.

La colonne de lien hypertexte à aller chercher est la colonne L.

et l'informations des taches doit se copier sur ma nouvelle feuille que j'ajoute avec la macro.

Tout ce qui me manque dans ma macro est le lien qui clique sur les différents hyperliens pour copier les bonnes tâches.

Merci

2test-test.xlsm (127.71 Ko)

est que la valeur (3) de la cellule N2 représente la colonne P ?

faut-il copier tous les taches dont la valeur de la colonne P qui sont <> de "" dans la nouvelle feuille ?

Exact. Le 3 de la colonne N2 represente le find de la colonne P et tant à changer selon ce que l'utilisateur écrira dans un texte box que je vais rajouter à la fin.

Et oui on doit copier sur la nouvelle feuille toutes les taches qui a un chiffre <> "". mais pas seulement la tache mais bien la colonne B à E de la feuille taches.

Merci de ton aide

à tester,

Sub TestTest()
Set oSh1 = Sheets("CALENDRIER")
semaine = Application.Match(oSh1.Range("N2"), oSh1.Range("4:4"), 0)
Set oSh2 = Worksheets.Add(After:=Worksheets(Worksheets.Count))
oSh2.Name = "Tâches Hebdo - Semaine " & oSh1.Cells(4, semaine).Value
Sheets("TÂCHES").Range("B5:E5").Copy oSh2.Range("A1")

For Each c In oSh1.Range(Cells(7, semaine).Address, Cells(75, semaine).Address)
    If c <> "" Then
        lien = oSh1.Range("L" & c.Row)
        sAddr1 = oSh1.Hyperlinks(lien).SubAddress
        RowTache = Range(sAddr1).Row
        LastRow2 = oSh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
        Sheets("TÂCHES").Range("B" & RowTache & ":E" & RowTache).Copy oSh2.Cells(LastRow2, 1)
    End If
Next c

With oSh2.Range("C:C")
.ColumnWidth = 115
.Rows.AutoFit
End With
End Sub

Bonsoir

Calendrier est en majuscules ou minuscules. Dans le fichier exemple que j'ai eu , c'était :

Calendrier

A+

Wow SabV,

Ca fonctionne exactement comme je le voulais !!! Merci .

Par curiosité pourrais-tu m'expliquer rapidement pourquoi mon code ne fonctionnait pas avec le Application.Goto comme tu me l'avais proposé plus tôt ?

Merci

Bonsoir

Calendrier est en majuscules ou minuscules. Dans le fichier exemple que j'ai eu , c'était :

Calendrier

A+

Oui c'était CALENDRIER en majuscule merci de ton aide ! Le post de SabV répond bien à ma demande !

Merci à tous

Bonjour oly,

pourquoi mon code ne fonctionnait pas avec le Application.Goto

Goto sert à rendre active une cellule, je croyais que c'était ça que tu voulais faire,

mais pour copier une cellule ou plage il n'est pas nécessaire que cette cellule soit sélectionné ou active.

Rechercher des sujets similaires à "macro qui lis hyperlien"