Copier contenu d'un lien hypertexte

Bonjour,

je suis plutôt débutant avec les macros VBA.

J'ai un fichier Excel qui contient environ 300 liens hypertextes (dans une colonne) qui ouvrent chacun un autre document Excel.

J'aimerais créer une macro qui permettrait d'ouvrir chacun des liens hypertextes, de copier le contenu du document qui s'est ouvert et de la coller sur une nouvelle feuille du premier document.

Est-ce que cela est possible?

Merci beaucoup

Bonjour,

Une piste à adapter (position de la plage) :

Sub Test()

    Dim ClsSource As Workbook
    Dim ClsCible As Workbook
    Dim Fe As Worksheet
    Dim ActiveFe As Worksheet
    Dim Plage As Range
    Dim Cel As Range

    Set ClsCible = ThisWorkbook
    Set ActiveFe = ClsCible.ActiveSheet

    'défini la plage en colonne A sur la feuille active à partir de A1 (à adapter)
    With ActiveFe

        Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))

    End With

    'gèle
    Application.ScreenUpdating = False

    'parcours la plage
    For Each Cel In Plage

        'si la cellule contient un lien...
        If Cel.Hyperlinks.Count > 0 Then

            'et qu'il est valide...
            If Dir(Cel.Hyperlinks(1).Address) <> "" Then

                'ajoute un nouvelle feuille au classeur
                ClsCible.Worksheets.Add , Sheets(Sheets.Count)
                Set Fe = ClsCible.Sheets(Sheets.Count)

                'ouvre le classeur source
                Set ClsSource = Workbooks.Open(Cel.Hyperlinks(1).Address)

                'puis copie la zone utilisée dans la nouvelle feuille
                ClsSource.Worksheets(1).UsedRange.Copy Fe.Range("A1")

                'referme sans enregistrer
                ClsSource.Close False

            End If

        End If

    Next Cel

    'réactive la feuille de départ
    ActiveFe.Activate

    'rafraîchi
    Application.ScreenUpdating = True

End Sub

Une précision, la feuille copiée est la première en partant de la gauche (onglets) car son index est 1

ClsSource.Worksheets(1).UsedRange.Copy

si ça en est une autre, indiquer le bon index ou si le nom est connu (ce qui est mieux) remplacer l'index par le nom :

ClsSource.Worksheets("Feuil2").UsedRange.Copy
Rechercher des sujets similaires à "copier contenu lien hypertexte"