Copier un genre d'hyperlien dans un autre fichier afin de l'ouvrir ?

Le
de
Bonjour,

J'ai deux fichiers xls: excel01 et excel02
Dans les deux j'utilise une macro qui me copie dans un onglet 'sommaire'
tous les noms des onglets présents. Ensuite j'ai juste à cliquer sur le nom
de l'onglet désiré et excel s'ouvre sur celui-ci. ;)
Je ne sais plus comment faire (j'y arrivais avant) mais lorsque je souhaite
copier les liens hypertextes du fichier excel02 dans excel01 je désepère!

J'ai essayé sans succès de copier les cellules de sommaire/excel02 dans
sommaire/excel01 (copier/coller , copier/coller en valeur , copier/coller
avec liaisons) sans succès.
Quelqu'un aurait-til une idée?

En fait dans le fichier excel02 en A2 j'ai le lien:
file:///C:Documentsexcel02.xls - onglet1

et lorsque je le copie dans excel01, le lien ne reste pas identique! mais se
change en (02 en 01) :
file:///C:Documentsexcel01.xls - onglet1

Merci d'avance ;)
Be

ps: voici la macro que j'utilise pour lister tous les onglets:
Dim aa As Range
' -- dans une page vierge ou si le titre SOMMAIRE existe
Cells.Find(What:="SOMMAIRE", After:=Range("A1")).Activate
' efface autant de cellules que de feuilles sous le texte SOMMAIRE
ActiveCell.Offset(1, 0).Resize(1 + Sheets.Count, 1).ClearContents
i = 0
' écriture des noms de feuilles et création des liens
For n = 1 To Sheets.Count
If Sheets(n).Name <> ActiveSheet.Name Then
i = i + 1
Set aa = Cells(ActiveCell.Row + i, ActiveCell.Column)
aa.Value = Sheets(n).Name
ActiveSheet.Hyperlinks.Add Anchor:ª, Address:="",
SubAddress:="'" & Sheets(n).Name & "'!A1", TextToDisplay:=Sheets(n).Name

End If
Next
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
francois.forcet
Le #5426251
Salut à toi

Par macro tu peux utiliser ce code :

Workbooks("excel02.xls").Sheets("Feuil1").Range("A2").Formula =
Workbooks("excel01.xls").Sheets("Feuil1").Range("A2").Formula

qui recopie la formule de la Feuil1 Cellule A2 du fichier excel02 vers
la formule de la feuil1 Cellule A2 du fichier excel01

Peut être ta solution

Dis moi !!!!
de
Le #5426021
Bonsoir,
Merci pour ton aide mais çà ne fonctionne pas. ;(
De mémoire, je pense que c'était plus simple : alors j'ai également essayé
de sauvegarder avant de copier ; de fermer/ouvrir mes 2 fichiers xls. Mais
je bute!

Si quelqu'un peut m'aider voici mes 2 fichiers :
excel01
http://cjoint.com/?ectqpJmHHk

excel02
http://cjoint.com/?ectrnBM4sh

nb: je les ai mis dans le répertoire C: de mon pc (win xp avec excel 2003)

Merci d'avance ;)
B
francois.forcet
Le #5425961
Rebonjours à toi

J'ai analysé tes 2 documents
Tu n'as pas les même noms d'onglet de l'un à l'autre

L'un par ses liens fait appel aux onglets "Feuil2" et "Feuil3"
L'autre par ses liens fait appel aux onglets "2Feuil2" et "2Feuil3"

La recopie de l'un à l'autre ne peux fonctionner

Si j'ajoute 2 onglets ("Feuil2" et "Feuil3") dans Excel02 et que je
recopie les liens "Feuil2" et "Feuil3" d'Excel01 celà fonctionne dans
Excel02

Vérifies et dis moi !!!!
de
Le #5425801
Bonjour François,

Je viens de retrouver ma façon de faire! la voici (c'était plus complexe que
je ne pensais) avec toutes mes excuses pour le dérangement.

Copier la macro dans un autre fichier xls. Puis çà demande à ouvrir le
fichier dont je souhaite creer les hyperliens que je pourrais copier
facilement par la suite.

Sub GenereLiensOngletsAutreClasseur()
classeurPrincipal = ActiveWorkbook.Name
nf = Application.GetOpenFilename("Fichiers Xls,*.xls")
If nf <> False Then
Workbooks.Open Filename:=nf
SecondClasseur = ActiveWorkbook.Name
Windows(classeurPrincipal).Activate
For i = 1 To Workbooks(SecondClasseur).Sheets.Count
ActiveSheet.Hyperlinks.Add Anchor:Îlls(i + 1, 1), Address:=nf,
SubAddress:= _
"'" & Workbooks(SecondClasseur).Sheets(i).Name & "'!a1",
TextToDisplay:="'" & _
Workbooks(SecondClasseur).Sheets(i).Name
Next i
Workbooks(SecondClasseur).Close
End If
End Sub

Encore merci pour ton aide et pardon pour mon incompétence!
Bonne journée,
B.
Publicité
Poster une réponse
Anonyme