XL 2016 Recopier lien hypertexte en fonction d'une récupération de texte

christ77000

XLDnaute Occasionnel
Bonjour, dans cette macro je récupère du texte venant de 5 autres feuilles sur deux critères, le mois en cours et le type de texte que je recopie dans une feuille commune (menu) . Ma demande dans les 5 feuilles il y a sur certaine ligne des liens hypertexte, comment les reprendre en même temps que le reste. Merci pour votre aide.


VB:
Sub TFParMois()
'---macro qui transfert dans l'onglet "Menu" tous les TF()du mois en cours---
Application.ScreenUpdating = False '---cacher les actions de la macro---

Dim Rg As Range
Dim NomFeuil As String
Dim i As Integer
Dim NumMois As Integer

NumMois = Sheets("Menu").Range("P24")
Call Retirer_la_protection
Range("J3:L32").ClearContents

For i = 1 To 5
NomFeuil = Sheets("Menu").Range("E" & i + 34) '---copie en fonction des onglets IT6---

    If Not Sheets(NomFeuil) Is Nothing Then
        Sheets(NomFeuil).Unprotect "toto" '---retirer la protection de ces feuilles---
        For Each Rg In Sheets(NomFeuil).Range("B18:B57") '---recherche du mois dans cette colonne 
            If Month(Rg.Value) = NumMois And Left(Rg.Offset(0, 5), 2) = "TF" Then --- récupération par type, ici commence par TF
                                  
                Sheets("Menu").Range("J32").End(xlUp).Offset(1, 0) = Rg.Offset(0, 5)
                Sheets("Menu").Range("J32").End(xlUp).Offset(0, 1) = Rg.Offset(0, 2) 'Paste 'End(xlUp).PasteSpecial xlPasteAll
                Sheets("Menu").Range("J32").End(xlUp).Offset(0, 2) = Left(NomFeuil, 2)
            
            End If
        Next
    End If
                
                Sheets(NomFeuil).Protect "toto" '---protection des feuilles IT6---
        Next
        Sheets("Menu").Select
                Sheets("Menu").Protect "toto"
          Application.ScreenUpdating = True '---voir les actions de la macro---
End Sub
 

Rouge

XLDnaute Impliqué
Bonjour,

Pour récupérer les liens hypertextes,
Exemple: le lien hypertexte est en cellule A1 de la feuille 2 et on veut le récupérer en cellule A1 de la feuille 1

VB:
With Sheets("Feuil1")
    If .Cells(1, "A").Hyperlinks.Count > 0 Then .Hyperlinks.Add .Range("A1"), Sheets("Feuil2").Range("A1")
End With

A adapter à votre fichier
Cdlt
 

Discussions similaires

Réponses
17
Affichages
803
Réponses
7
Affichages
322

Statistiques des forums

Discussions
312 094
Messages
2 085 244
Membres
102 833
dernier inscrit
Hassna