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

  • Initiateur de la discussion Denis
  • Date de début
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... :eek: )

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

  • essaidevis.zip
    8.7 KB · Affichages: 50

MichelXld

XLDnaute Barbatruc
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
 
D

Denis

Guest
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+
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi