sous VBA cop/col le résultat d'1 lien hypertexte

  • Initiateur de la discussion Initiateur de la discussion Denis
  • Date de début Date de début

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 !

D

Denis

Guest
Bonjour à tous !

C'est en modeste utilisateur d'Excel que je viens implorer vos magnificiences exceliennes.

Je débute (tatonne, trébuche... au choix) dans VBA.

Voilà mon problème:
J'ai trois onglets, 1 sommaire, 1 devis, 1 base.
Dans mon sommaire j'ai une liste de chapitres qui correspondent à des plages de cellules par le biais d'un lien hypertexte.

Mon objectif est qu'en sélectionnant (par un X dans une cellule) un chapitre, je vais copier la plage de cellule correspondant au lien hypertexte, dans l'onglet 'base' et le copier dans l'onglet 'Devis'.

Ma macro se déroule bien sauf que.... le copier/coller me copie la cellule du lien hypertexte et non pas la destination du lien hypertexte....
(pas sûr d'être clair... 😱 )

Voilà !
A chaque fois que je suis venu j'ai trouvé une aide précieuse par des gens compétents et sympa. J'espère qu'un sauveur saura me donner l'astuce !

Merci d'avance. [file name=essaidevis.zip size=8947]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essaidevis.zip[/file]
 

Pièces jointes

bonsoir Denis

je ne suis pas sur d'avoir bien compris le positionnement que tu souhaites obtenir dans la feuille 'Devis' , mais tu peux tester cette procedure

Sub Chapitre()
Dim i As Integer, j As Integer
Dim Plage As String

For i = 1 To Sheets('Sommaire').Range('C65536').End(xlUp).Row
If Sheets('Sommaire').Cells(i, 3) = 'x' Then
Plage = Sheets('Sommaire').Cells(i, 1).Hyperlinks(1).SubAddress
Sheets('Base').Range(Plage).Copy

j = Sheets('Devis').Range('A65536').End(xlUp).Row + 1
Sheets('Devis').Cells(j, 1).PasteSpecial

Application.CutCopyMode = False
End If
Next i

End Sub



bonne soirée
MichelXld
 
C'est Nickel !!

Je ne maitrise pas les subtilités du langage VBA.
Il me manquait la définition de variable.

Dim Plage As String

Et cette 'phrase' que j'essayais désespérément à écrire.

Plage = Sheets('Sommaire').Cells(i, 1).Hyperlinks(1).SubAddress

ça me va tres bien tout ça. Je vais y apporter mes finitions de présentation et ça sera au top !

Merci beaucoup, encore une fois vous me sauvez !

A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour