Macro exécution lien hypertexte

Bonjour,

Cadre : j'utilise un fichier xlsm pour ouvrir des liens HyperText en série, via une macro.

j'utilisais jusqu'alors Excel 2016 avec la macro suivante :
Sub ActiverLiens()
For Each H1 In Sheets("feuille").Hyperlinks
H1.Follow
Next
End Sub

sous excel 2016, cela fonctionnait très bien, elle ouvrait tous les liens présent dans la feuille, presque d'un coup et sans se soucier si le lien était bon ou pas (ce qui m'allait bien)

Depuis je suis passé à Excel 2019
cette macro ne m'ouvre plus tous les lien d'un coup, mais attend que la page 1 soit chargée avant d'ouvrir la page 2, etc... (ça commence à devenir plus long surtout quand j'en ouvre 400+)
mais en plus, si la page web qui s'ouvre, rencontre une erreur de certificat : la macro se mets en pause et attend une action, ou si la page web est inaccessible : la macro plante, ce qui devient très gênant.

Ma 1ere question est, dans ce contexte : est-ce que cette différence entre excel 2016 et 2019 est normal? est-ce qu'il est possible d'agir sur une option, pour au moins ne plus bloquer la macro en cas d'erreur sur une page web?

Toujours dans ce contexte :
est-il possible de me donner une alternative à cette macro, qui me lancerai les liens dans une sélection (à la souris), plutôt que dans toute la page?

merci

Bien cordialement

Bonjour,

Concernant la première question, pour ma part je n'ai pas de réponse.

Pour la seconde. Si tu poses un lien dans une cellule, ce lien auras la priorité sur la sélection de cellules. Imaginons que l'on ai des liens dans les cellules B3; B6; B7, si tu fais une sélection en commençant par C7 jusqu'à B6 alors tu peux dans l'évènement Worksheet_SelectionChange de la feuille un code dans le style de celui ci-dessous.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Dim itemLink As Excel.Hyperlink
        For Each itemLink In Me.Hyperlinks
            If Not Intersect(Range(itemLink.Parent.Address), Target) Is Nothing Then
                itemLink.Follow NewWindow:=True
            End If
        Next itemLink
End Sub

Pour répondre à Jean Paul,
Tout d'abord merci d'avoir répondu aussi vite.

ensuite,
J'utilise actuellement la macro suivante pour transformer du texte en lien hypertexte :
Public Sub Convert_To_Hyperlinks()
Dim Cell As Range
For Each Cell In Intersect(Selection, ActiveSheet.UsedRange)
If Cell <> "" Then
ActiveSheet.Hyperlinks.Add Cell, Cell.Value
End If
Next
End Sub

donc je fais une sélection, j’exécute la macro et ça me change le texte en lien hypertexte,

est-il possible de l'adapter pour qu'au lieu de changer le texte en lien, il l’exécute à la place?

Rechercher des sujets similaires à "macro execution lien hypertexte"