XL 2016 Macro "Double-clic + Entrée"

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bubble18

XLDnaute Nouveau
Bonjour,
J'ai créé une macro sous Excel pour copier/coller les données d'un tableau d'un premier onglet dans les cellules d'un second onglet.

Une des données copiées est un lien hypertexte. Celui-ci se colle correctement dans la cellule que je lui ai attribuée dans le second onglet mais il n'est pas actif, ce qui m'oblige à double-cliquer sur cette cellule puis appuyer sur "Entrée" pour activer le lien.

Y aurait-il moyen d'intégrer cette manipulation (Double-clic + Entrée) dans une macro ?

Merci pour votre aide !

PS : Je n'ai aucune connaissance en VBA, je bidouille avec l'enregistreur de macros et quelques modèles trouvés sur des sites ou des forums...
 
Bonjour et bienvenue sur ce forum

Je n'ai aucune connaissance en VBA, je bidouille avec l'enregistreur de macros et quelques modèles trouvés sur des sites ou des forums...
C'est une bonne méthode pour commencer car l'enregistreur automatique est aussi notre ami

Le mieux serait que vous mettiez votre fichier en ligne sans données confidentielles. Ce sera plus facile de vous apporter une solution

Pour ce qui concerne les liens hypertextes, si vous faites du copier coller, le mieux est d'attribuer un nom à la cellule qui le contient et de définir votre lien hypertexte ensuite. Dans ce cas le copier de la cellule contenant le lien hypertexte vers une autre feuille permettra de conserver l'hyperlien.

Crdlt
 
Bonjour Bubble, et bienvenu sur XLD, bonjour Dan,
Un essai en PJ avec :
VB:
Sub CopierLien()
    Sheets("Feuil1").Range("C8").Copy                           ' Copier le lien
    Sheets("Feuil2").Range("E4").PasteSpecial Paste:=xlPasteAll ' Le coller en Fuil2
    Application.CutCopyMode = False
End Sub
 

Pièces jointes

Bonjour et bienvenue sur ce forum


C'est une bonne méthode pour commencer car l'enregistreur automatique est aussi notre ami

Le mieux serait que vous mettiez votre fichier en ligne sans données confidentielles. Ce sera plus facile de vous apporter une solution

Pour ce qui concerne les liens hypertextes, si vous faites du copier coller, le mieux est d'attribuer un nom à la cellule qui le contient et de définir votre lien hypertexte ensuite. Dans ce cas le copier de la cellule contenant le lien hypertexte vers une autre feuille permettra de conserver l'hyperlien.

Crdlt
Merci !
Voici un fichier équivalent à celui que j'ai créé, en version très réduite.

Dans l'onglet TABLEAU, je renseigne des données qui doivent ensuite être collées dans le second onglet FICHE. L'onglet FICHE est ensuite enregistré en document PDF.

Au niveau du rapatriement des données entre TABLEAU et FICHE, pas de soucis. Mais pour que le lien hypertexte de TABLEAU rapatrié en texte simple dans FICHE se convertisse en lien hypertexte, je dois double-cliquer sur la cellule B2 et faire ENTRÉE.

C'est cette dernière étape que je cherche à automatiser sans succès...
Est-ce que ça vous semble possible ?

La difficulté semble venir du fait que je rapatrie le lien hypertexte dans une cellule fusionnée.
La présentation de la fiche que j'utilise dans mon "vrai" fichier ne me permet de faire autrement.
Pour créer une nouvelle fiche, j'insère une nouvelle ligne vierge au-dessus de la première dans TABLEAU que je complète avec de nouvelles données et ainsi de suite pour chaque nouvelle création.
 

Pièces jointes

Bonjour Bubble, et bienvenu sur XLD, bonjour Dan,
Un essai en PJ avec :
VB:
Sub CopierLien()
    Sheets("Feuil1").Range("C8").Copy                           ' Copier le lien
    Sheets("Feuil2").Range("E4").PasteSpecial Paste:=xlPasteAll ' Le coller en Fuil2
    Application.CutCopyMode = False
End Sub
Merci beaucoup pour votre réponse !
Votre proposition fonctionne très bien quand le lien est collé dans une cellule unique.
Mais mon souci est que je colle le lien dans une cellule fusionnée et sauf mauvaise utilisation de ma part, cela ne semble pas fonctionner dans ce cas...
 
Re,
un essai en PJ avec :
VB:
Sub CopierLienHypertexte()
With Sheets("Fiche")
    .Hyperlinks.Add Anchor:=.[B2], _
    Address:=Sheets("Tableau").Range("B2"), _
    ScreenTip:="", TextToDisplay:=" " & Sheets("Tableau").Range("B2")
End With
End Sub
Merci encore pour votre réponse rapide !
Ça fonctionne parfaitement sur mon PC avec Excel 2024 mais le PC que j'utilise pour mon vrai fichier est sous Excel 2016 et là ça ne fonctionne plus : "Erreur d'exécution '1004'"...
Est-ce dû à la version d'Excel ?
Désolée de ne pas avoir préciser d'emblée la version utilisée...
 
Bonsoir

Dans votre feuille Tableau, la fusion est entre B2 et C2 ou B2 et B3 ?

Rem : Evitez toujours les fusions de cellules qui n'apportent que souci à un moment ou un autre. Si c'est pour un titre ce n'est pas grave mais pour des cellules contenant des données variables, c'est à éviter
 
Bonsoir

Dans votre feuille Tableau, la fusion est entre B2 et C2 ou B2 et B3 ?

Rem : Evitez toujours les fusions de cellules qui n'apportent que souci à un moment ou un autre. Si c'est pour un titre ce n'est pas grave mais pour des cellules contenant des données variables, c'est à éviter
Bonsoir,
Pas de fusion dans la feuille Tableau, le lien est renseigné uniquement en B2.
En revanche, il doit être reproduit dans la feuille Fiche en cellule fusionnée de B2 à G2.
 
Bonsoir,
Pas de fusion dans la feuille Tableau, le lien est renseigné uniquement en B2.
En revanche, il doit être reproduit dans la feuille Fiche en cellule fusionnée de B2 à G2.
Désolé j'avais mal lu. C'est l'inverse en fait

Alors faites ceci dans la feuille Fiche :
1. En premier, supprimez la fusion des cellules B2 à G2
2. Une fois défusionnées, sélectionnez à nouveau B2 à G2
3. Allez dans le menu Accueil et cliquez sur l'icône "Format" puis "Format de cellule"
4. Cliquez sur l'onglet "Alignement" et dans la rubrique "Horizontal", choisissez l'option "Centrer sur plusieurs colonnes"

refaites un test avec le code de Sylvanu. Cela marchera
 
Cela marchera
Mais pourquoi cela marche t-il avec 2007 et 2024, et non avec 2016 ?

Ensuite, après tests, en faisant un alignement horizontal, le lien n'est pas accessible sur les 6 colonnes mais uniquement sur B2.

@Bubble18 ,
Avez vous d'autres données dans Fiche sous B2 ?
Si non, alors défusionnez B:G, et élargissez la colonne B pour faire la largeur de B:G actuel, et vous pouvez faire un test avec les deux macros.
 
Alors en PJ un truc moche, mais si ça marche ....
Je défusionne les cellules B2:G2, je colle le lien puis refusionne.
VB:
Sub CopierLienHypertexte()
With Sheets("Fiche")
    .Range("B2:G2").MergeCells = False
    .Hyperlinks.Add Anchor:=.[B2], _
    Address:=Sheets("Tableau").Range("B2"), _
    ScreenTip:="", TextToDisplay:=" " & Sheets("Tableau").Range("B2")
    .Range("B2:G2").MergeCells = True
End With
End Sub
Ne pas critiquer l'approche, je sais que c'est pas beau !
 

Pièces jointes

Re,
D'après Gemini, 2016 serait moins permissif que 2007 ou 2024. sic

Une solution est de mettre le lien que dans la première cellule.
A tester cette PJ avec :
VB:
Sub CopierLienHypertexte()
With Sheets("Fiche")
    Set Plage = .Range("B2:G2")
    .Hyperlinks.Add Anchor:=Plage.Cells(1), _
    Address:=Sheets("Tableau").Range("B2"), _
    ScreenTip:="", TextToDisplay:=" " & Sheets("Tableau").Range("B2").Value
End With
End Sub
 

Pièces jointes

Ensuite, après tests, en faisant un alignement horizontal, le lien n'est pas accessible sur les 6 colonnes mais uniquement sur B2.
Oui mais cela n'a pas d'importance puisque le lien est visuellement bien centré sur les colonnes et on évite les cellules fusionnées qui comme je l'ai écrit posent trop souvent des problèmes.

D'après Gemini, 2016 serait moins permissif que 2007 ou 2024. sic
Une solution est de mettre le lien que dans la première cellule.

Par contre avec la déclaration de "plage", cela fonctionne. Cela montre aussi tout le problème de la fusion de cellules.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

E
Réponses
5
Affichages
3 K
Eloiweb
E
G
Réponses
4
Affichages
2 K
Compte Supprimé 979
C
T
Réponses
22
Affichages
6 K
Thibault LB
T
G
Réponses
3
Affichages
3 K
gadget
G
S
Réponses
1
Affichages
1 K
Retour