Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
845
Réponses
7
Affichages
367
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…