Je travaille sur un classeur excel présentant entre autre une colonne dans
laquelle figurent des liens hypertextes, différents à chaque ligne, et que
je dois ouvrir pour récupérer des infos que je reporte ensuite dans une
autre colonne de la même ligne.
J'ai beau essayer, je ne parviens pas à automatiser l'ouverture... Mais bon,
ça fait un (très long) moment que j'avais laissé excel de côté (ah le congé
parental ! :D)
Donc, ce que je voudrais faire c'est me positionner sur une cellule où
figure un lien et pouvoir créer une macro qui va m'ouvrir automatiquement ce
lien dans mon navigateur, puis descendre à la ligne en dessous, ouvrir le
lien dans un nouvel onglet, etc. sur 5 ou 10 lignes...) comme ça les pages
se chargent et je n'ai plus qu'à les consulter.
La récupération des données n'est pas automatisable, faut vraiment que je
lise et rédige à chaque fois, mais si déjà l'ouverture des liens était
automatisable, ça me ferait gagner vachement de temps !
Donc, je remercie chaudement par avance ceux qui pourront m'aider
là-dessus...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Habituellement, lors qu'une cellule contient un lien hypertexte, le format est particulier et en cliquant sur son contenu, le lien s'ouvre...
Ce n'est pas ce qui se passe chez toi?
Une procédure à mettre dans le module Feuille où l'action se déroule.
'---------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim X As Hyperlink On Error Resume Next Set X = Target.Hyperlinks(1) If Err <> 0 Then Err = 0 Else X.Follow False End If End Sub '----------------------------------------
Habituellement, lors qu'une cellule contient un lien
hypertexte, le format est particulier et en cliquant
sur son contenu, le lien s'ouvre...
Ce n'est pas ce qui se passe chez toi?
Une procédure à mettre dans le module Feuille où l'action
se déroule.
'----------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim X As Hyperlink
On Error Resume Next
Set X = Target.Hyperlinks(1)
If Err <> 0 Then
Err = 0
Else
X.Follow False
End If
End Sub
'----------------------------------------
Habituellement, lors qu'une cellule contient un lien hypertexte, le format est particulier et en cliquant sur son contenu, le lien s'ouvre...
Ce n'est pas ce qui se passe chez toi?
Une procédure à mettre dans le module Feuille où l'action se déroule.
'---------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim X As Hyperlink On Error Resume Next Set X = Target.Hyperlinks(1) If Err <> 0 Then Err = 0 Else X.Follow False End If End Sub '----------------------------------------
Si, si, ça s'ouvre bien... C'est juste que comme j'en ai plein à ouvrir ca signifie : -cliquer sur le lien -la page s'ouvre et windows bascule sur le navigateur -je reviens sur excel, -je descend d'une cellule -et je recommence... (tout en étant obligée d'attendre à chaque fois que la page soit bien ouverte, parce que si je clique plusieurs cellules d'affilée rapidement, le navigateur n'affiche que la page du dernier lien hypertexte, donc c'est long !)
L'idée c'est que la machine le fasse à ma place. Je vais essayer ta procédure, merci de ta réponse !
Laure
"MichD" a écrit dans le message de groupe de discussion : kdpb0g$gfl$
Bonjour,
Habituellement, lors qu'une cellule contient un lien hypertexte, le format est particulier et en cliquant sur son contenu, le lien s'ouvre...
Ce n'est pas ce qui se passe chez toi?
Une procédure à mettre dans le module Feuille où l'action se déroule.
'---------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim X As Hyperlink On Error Resume Next Set X = Target.Hyperlinks(1) If Err <> 0 Then Err = 0 Else X.Follow False End If End Sub '----------------------------------------
Si, si, ça s'ouvre bien... C'est juste que comme j'en ai plein à ouvrir ca
signifie :
-cliquer sur le lien
-la page s'ouvre et windows bascule sur le navigateur
-je reviens sur excel,
-je descend d'une cellule
-et je recommence...
(tout en étant obligée d'attendre à chaque fois que la page soit bien
ouverte, parce que si je clique plusieurs cellules d'affilée rapidement, le
navigateur n'affiche que la page du dernier lien hypertexte, donc c'est long
!)
L'idée c'est que la machine le fasse à ma place.
Je vais essayer ta procédure, merci de ta réponse !
Laure
"MichD" a écrit dans le message de groupe de discussion :
kdpb0g$gfl$1@speranza.aioe.org...
Bonjour,
Habituellement, lors qu'une cellule contient un lien
hypertexte, le format est particulier et en cliquant
sur son contenu, le lien s'ouvre...
Ce n'est pas ce qui se passe chez toi?
Une procédure à mettre dans le module Feuille où l'action
se déroule.
'----------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim X As Hyperlink
On Error Resume Next
Set X = Target.Hyperlinks(1)
If Err <> 0 Then
Err = 0
Else
X.Follow False
End If
End Sub
'----------------------------------------
Si, si, ça s'ouvre bien... C'est juste que comme j'en ai plein à ouvrir ca signifie : -cliquer sur le lien -la page s'ouvre et windows bascule sur le navigateur -je reviens sur excel, -je descend d'une cellule -et je recommence... (tout en étant obligée d'attendre à chaque fois que la page soit bien ouverte, parce que si je clique plusieurs cellules d'affilée rapidement, le navigateur n'affiche que la page du dernier lien hypertexte, donc c'est long !)
L'idée c'est que la machine le fasse à ma place. Je vais essayer ta procédure, merci de ta réponse !
Laure
"MichD" a écrit dans le message de groupe de discussion : kdpb0g$gfl$
Bonjour,
Habituellement, lors qu'une cellule contient un lien hypertexte, le format est particulier et en cliquant sur son contenu, le lien s'ouvre...
Ce n'est pas ce qui se passe chez toi?
Une procédure à mettre dans le module Feuille où l'action se déroule.
'---------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim X As Hyperlink On Error Resume Next Set X = Target.Hyperlinks(1) If Err <> 0 Then Err = 0 Else X.Follow False End If End Sub '----------------------------------------
Ce serait souhaitable que tu insères un bouton de commande de la barre d'outils "Formulaire" et que tu lui attaches cette macro :
Pour les besoins de l'exemple, j'ai utilisé le nom d'onglet de la feuille "Feuil1" et la plage A1:A5. Tous les 2 sont à adapter à ton environnement.
'-------------------------------------------- Sub Ouvrir_Lien_Hypertexte() Dim C As Range On Error Resume Next With Worksheets("Feuil1") 'NOm Feuille à adapter 'adresse de la plage de cellules à adapter For Each C In .Range("A1:A5") C.Hyperlinks(1).Follow False Next End With End Sub '--------------------------------------------
Ce serait souhaitable que tu insères un bouton
de commande de la barre d'outils "Formulaire"
et que tu lui attaches cette macro :
Pour les besoins de l'exemple, j'ai utilisé le nom d'onglet
de la feuille "Feuil1" et la plage A1:A5. Tous les 2 sont à
adapter à ton environnement.
'--------------------------------------------
Sub Ouvrir_Lien_Hypertexte()
Dim C As Range
On Error Resume Next
With Worksheets("Feuil1") 'NOm Feuille à adapter
'adresse de la plage de cellules à adapter
For Each C In .Range("A1:A5")
C.Hyperlinks(1).Follow False
Next
End With
End Sub
'--------------------------------------------
Ce serait souhaitable que tu insères un bouton de commande de la barre d'outils "Formulaire" et que tu lui attaches cette macro :
Pour les besoins de l'exemple, j'ai utilisé le nom d'onglet de la feuille "Feuil1" et la plage A1:A5. Tous les 2 sont à adapter à ton environnement.
'-------------------------------------------- Sub Ouvrir_Lien_Hypertexte() Dim C As Range On Error Resume Next With Worksheets("Feuil1") 'NOm Feuille à adapter 'adresse de la plage de cellules à adapter For Each C In .Range("A1:A5") C.Hyperlinks(1).Follow False Next End With End Sub '--------------------------------------------
Mais cela ne fonctionne pas. J'ai adapté le nom du classeur et la plage, mais lorsque j'exécute la macro il ne se passe... Rien du tout. Pas de message d'erreur, pas d'ouverture de page web... Rien....
Laure _______________________
"MichD" a écrit dans le message de groupe de discussion : kdpljq$c29$
À la lumière de complément d'information,
Ce serait souhaitable que tu insères un bouton de commande de la barre d'outils "Formulaire" et que tu lui attaches cette macro :
Pour les besoins de l'exemple, j'ai utilisé le nom d'onglet de la feuille "Feuil1" et la plage A1:A5. Tous les 2 sont à adapter à ton environnement.
'-------------------------------------------- Sub Ouvrir_Lien_Hypertexte() Dim C As Range On Error Resume Next With Worksheets("Feuil1") 'NOm Feuille à adapter 'adresse de la plage de cellules à adapter For Each C In .Range("A1:A5") C.Hyperlinks(1).Follow False Next End With End Sub '--------------------------------------------
Mais cela ne fonctionne pas.
J'ai adapté le nom du classeur et la plage, mais lorsque j'exécute la macro
il ne se passe... Rien du tout. Pas de message d'erreur, pas d'ouverture de
page web... Rien....
Laure
_______________________
"MichD" a écrit dans le message de groupe de discussion :
kdpljq$c29$1@speranza.aioe.org...
À la lumière de complément d'information,
Ce serait souhaitable que tu insères un bouton
de commande de la barre d'outils "Formulaire"
et que tu lui attaches cette macro :
Pour les besoins de l'exemple, j'ai utilisé le nom d'onglet
de la feuille "Feuil1" et la plage A1:A5. Tous les 2 sont à
adapter à ton environnement.
'--------------------------------------------
Sub Ouvrir_Lien_Hypertexte()
Dim C As Range
On Error Resume Next
With Worksheets("Feuil1") 'NOm Feuille à adapter
'adresse de la plage de cellules à adapter
For Each C In .Range("A1:A5")
C.Hyperlinks(1).Follow False
Next
End With
End Sub
'--------------------------------------------
Mais cela ne fonctionne pas. J'ai adapté le nom du classeur et la plage, mais lorsque j'exécute la macro il ne se passe... Rien du tout. Pas de message d'erreur, pas d'ouverture de page web... Rien....
Laure _______________________
"MichD" a écrit dans le message de groupe de discussion : kdpljq$c29$
À la lumière de complément d'information,
Ce serait souhaitable que tu insères un bouton de commande de la barre d'outils "Formulaire" et que tu lui attaches cette macro :
Pour les besoins de l'exemple, j'ai utilisé le nom d'onglet de la feuille "Feuil1" et la plage A1:A5. Tous les 2 sont à adapter à ton environnement.
'-------------------------------------------- Sub Ouvrir_Lien_Hypertexte() Dim C As Range On Error Resume Next With Worksheets("Feuil1") 'NOm Feuille à adapter 'adresse de la plage de cellules à adapter For Each C In .Range("A1:A5") C.Hyperlinks(1).Follow False Next End With End Sub '--------------------------------------------
Bonjour MichD, Grand merci pour le temps que vous prenez pour m'aider. C'est incompréhensible, ça fonctionne parfaitement dans votre fichier, mais pas dans le mien. J'ai essayé d'enregistrer la macro directement dans le fichier ou sur le classeur de macros personnelles, mais rien à faire. J'ai essayer de rallonger un peu le timer, parce que les pages sont parfois un peu lentes à charger... Mais non, ça ne vient visiblement pas de là. Ma feuille s'appelle Feuil1 donc je n'ai rien changé... Juste la plage des cellules à ouvrir...
Je suis perplexe !!!??? ______________________________
"MichD" a écrit dans le message de groupe de discussion : kdr6d8$lk0$
Bonjour MichD,
Grand merci pour le temps que vous prenez pour m'aider.
C'est incompréhensible, ça fonctionne parfaitement dans votre fichier, mais
pas dans le mien. J'ai essayé d'enregistrer la macro directement dans le
fichier ou sur le classeur de macros personnelles, mais rien à faire. J'ai
essayer de rallonger un peu le timer, parce que les pages sont parfois un
peu lentes à charger... Mais non, ça ne vient visiblement pas de là. Ma
feuille s'appelle Feuil1 donc je n'ai rien changé... Juste la plage des
cellules à ouvrir...
Je suis perplexe !!!???
______________________________
"MichD" a écrit dans le message de groupe de discussion :
kdr6d8$lk0$1@speranza.aioe.org...
Bonjour MichD, Grand merci pour le temps que vous prenez pour m'aider. C'est incompréhensible, ça fonctionne parfaitement dans votre fichier, mais pas dans le mien. J'ai essayé d'enregistrer la macro directement dans le fichier ou sur le classeur de macros personnelles, mais rien à faire. J'ai essayer de rallonger un peu le timer, parce que les pages sont parfois un peu lentes à charger... Mais non, ça ne vient visiblement pas de là. Ma feuille s'appelle Feuil1 donc je n'ai rien changé... Juste la plage des cellules à ouvrir...
Je suis perplexe !!!??? ______________________________
"MichD" a écrit dans le message de groupe de discussion : kdr6d8$lk0$
A ) tu fais un copier-coller du code vers le module feuille où l'action se déroule. Un clic droit sur l'onglet de ladite feuille et tu copies le code dans la feuille blanche.
B ) Si l'onglet de la feuille porte le nom "Feuil1", tu n'as pas à le modifier dans la macro C ) Tu dois adapter la plage de cellules A1:A3 pour la plage de cellules où sont les adresses dans la feuille de ton application. D ) Il ne te reste plus qu'à ajouter un bouton émanant de la barre d'outils "formulaire" et attacher la macro à ce dernier.
Dans ton dernier message, tu dis que cela ne fonctionne pas dans ton application, mais tu ne décris pas ce qui se passe à l'écran lorsque tu exécutes la macro. Est-ce qu'Internet Explorer ouvre?
A ) tu fais un copier-coller du code vers le module feuille
où l'action se déroule. Un clic droit sur l'onglet de ladite
feuille et tu copies le code dans la feuille blanche.
B ) Si l'onglet de la feuille porte le nom "Feuil1", tu n'as pas
à le modifier dans la macro
C ) Tu dois adapter la plage de cellules A1:A3 pour la plage
de cellules où sont les adresses dans la feuille de ton
application.
D ) Il ne te reste plus qu'à ajouter un bouton émanant de la
barre d'outils "formulaire" et attacher la macro à ce
dernier.
Dans ton dernier message, tu dis que cela ne fonctionne pas
dans ton application, mais tu ne décris pas ce qui se passe à
l'écran lorsque tu exécutes la macro. Est-ce qu'Internet Explorer
ouvre?
A ) tu fais un copier-coller du code vers le module feuille où l'action se déroule. Un clic droit sur l'onglet de ladite feuille et tu copies le code dans la feuille blanche.
B ) Si l'onglet de la feuille porte le nom "Feuil1", tu n'as pas à le modifier dans la macro C ) Tu dois adapter la plage de cellules A1:A3 pour la plage de cellules où sont les adresses dans la feuille de ton application. D ) Il ne te reste plus qu'à ajouter un bouton émanant de la barre d'outils "formulaire" et attacher la macro à ce dernier.
Dans ton dernier message, tu dis que cela ne fonctionne pas dans ton application, mais tu ne décris pas ce qui se passe à l'écran lorsque tu exécutes la macro. Est-ce qu'Internet Explorer ouvre?