OVH Cloud OVH Cloud

créer un lien, ouvrir et enregister à partir d'un modèle Excel

20 réponses
Avatar
Greg
Bonjour,
J'ai un classeur que l'on pourrait appeler « synthèse », qui est une sorte
de sommaire. Chaque feuille de ce classeur correspond à une catégorie bien
précise, et renvoie à des classeurs bien spécifiques bâtis selon un modèle.
Je souhaite, avant de m'engager dans l'écriture de mon « sommaire », pouvoir
créer une macro qui allègerait l'utilisateur dans l'archivage, la création
de liens, l'ouverture du modèle etc.
Exemple : je suis en F7 et je lance la macro.
1- Création d'un lien hypertexte en F7
2- Ouverture d'une fenêtre d'enregistrement d'un document Excel s'appuyant
sur un modèle (dont la cible serait définie dans la macro)
3- Enregistrement du document qui s'appuie sur le modèle dont le nom est en
colonne B de la même ligne (ici, B7)
4- Ouverture du classeur directement après l'enregistrement, prêt à la
saisie.
Je ne sais pas si j'ai l'ordre juste des commandes (intuitivement, j'ai l'impression
qu'il y a quelque chose qui cloche.)
Est-ce envisageable ?
NB : Chaque feuille de mon classeur d'origine renvoie à un document modèle
particulier, je dois donc créer un code par feuille avec le modèle et la
cible du document.

Merci d'avance.

Greg

10 réponses

1 2
Avatar
Greg
Rebonjour,

Dans les 3 cas, vu d'Excel, le fichier se nomme "S1". Je viens de voir que
tu avais envoyé un nouveau code. Je vais essayer de ce pas.

Greg

"FFO" a écrit dans le message de
news:
Rebonjour à toi


Peux tu me dire lorsque tu ouvres le fichier S1.xls nouvellement créé par
le
code soit en doublecliquant dessus, soit par Fichier/ouvrir de
l'application
Excel soit en activant le lien Hypertexte (l'ayant refermé au paravant car
ouvert par le code) quel nom porte t'il vue d'Excel

Merci de ta réponse avec les 3 manières décrites



Avatar
Greg
"Ah oui!" (c'est le cri du coeur qui a bien fait rire ma femme...)

Ca marche impeccable cette fois. Il ne reste qu'à adapter le code à la ligne
active tel que je le spécifiais dans mon message de 16h42. Je pense que nous
atteignons le but.

Merci beaucoup

Greg

"FFO" a écrit dans le message de
news:
Rebonjour à toi

Je te propose cette variante qui produit exactement le même effet mais
peut
être sans ta déconvenue récalcitrante :

Chemin = "E:Chemin"
ChDrive (E)
ChDir (Chemin)
Source = Application.GetOpenFilename()
If Source <> "Faux" Then
Nom = Range("B7") & ".xls"
ActiveSheet.Hyperlinks.Add Anchor:=Range("F7"), Address:= _
Chemin & Nom, TextToDisplay:= _
Range("F7") & " VOIR LE LIEN"
Workbooks.Open (Source)
ActiveWorkbook.SaveAs (Chemin & Nom)
End If

Adaptes :

Chemin = "E:Chemin" (du chemin du répertoire de tes modèles)
ChDrive (E) (de la lettre du lecteur de ton disque dur)

et les lignes pour créer ton lien Hypertexte :

ActiveSheet.Hyperlinks.Add Anchor:=Range("F7"), Address:= _
Chemin & Nom, TextToDisplay:= _
Range("F7") & " VOIR LE LIEN"

En fonction de ce que tu souhaites

Fais des essais et dis moi !!!!!



Avatar
Greg
Bonsoir à tous et en particulier à Daniel qui m'a bien coacher sur ce coup
là!

Alors, voilà le code final si ça intéresse quelqu'un. Les dernières modifs
permettent de s'adapter à n'importe quelle ligne, de travailler sur la ligne
active:

Sub Créer_Lien()

Chemin = "C:UsersuserDesktopessai2"
ChDrive (C)
ChDir (Chemin)
Source = Application.GetOpenFilename()
If Source <> "Faux" Then
Nom = Cells(ActiveCell.Row, 2) & ".xls"
ActiveSheet.Hyperlinks.Add Anchor:Îlls(ActiveCell.Row, 4), Address:= _
Chemin & Nom, TextToDisplay:= _
Cells(ActiveCell.Row, 4) & "X"
Workbooks.Open (Source)
ActiveWorkbook.SaveAs (Chemin & Nom)
End If

End Sub

Un dernier grand merci à Daniel

à plus

Greg

NB: Je viens de me commander 3 bouquins pour mieux maîtriser le VBA... Mais
je crois que j'aurai encore longtemps besoin de vous...


"Greg" a écrit dans le message de
news:
Rebonjour,

Dans les 3 cas, vu d'Excel, le fichier se nomme "S1". Je viens de voir que
tu avais envoyé un nouveau code. Je vais essayer de ce pas.

Greg

"FFO" a écrit dans le message de
news:
Rebonjour à toi


Peux tu me dire lorsque tu ouvres le fichier S1.xls nouvellement créé par
le
code soit en doublecliquant dessus, soit par Fichier/ouvrir de
l'application
Excel soit en activant le lien Hypertexte (l'ayant refermé au paravant
car
ouvert par le code) quel nom porte t'il vue d'Excel

Merci de ta réponse avec les 3 manières décrites






Avatar
Daniel.C
> Un dernier grand merci à Daniel



J'ai pourtant pas transpiré beaucoup sur ce coup là ?
Daniel
Avatar
FFO
Salut Daniel
Tu as du penser trés fort et m'inspirer grandement pour sortir la potion
miracle
Ces remerciements ne sont pas anodin
Profites en !!!!
Avatar
Greg
Bonjour FFO et excuse-moi... il était tard et Daniel m'avait donné un
dernier coup de pouce dans un autre post... honte à moi!

Alors je rends à FFO cet hommage concernant ce projet, avec le béotien que
je suis!

à plus

Greg

"Greg" a écrit dans le message de
news:
Bonsoir à tous et en particulier à Daniel qui m'a bien coacher sur ce coup
là!

Alors, voilà le code final si ça intéresse quelqu'un. Les dernières modifs
permettent de s'adapter à n'importe quelle ligne, de travailler sur la
ligne active:

Sub Créer_Lien()

Chemin = "C:UsersuserDesktopessai2"
ChDrive (C)
ChDir (Chemin)
Source = Application.GetOpenFilename()
If Source <> "Faux" Then
Nom = Cells(ActiveCell.Row, 2) & ".xls"
ActiveSheet.Hyperlinks.Add Anchor:Îlls(ActiveCell.Row, 4), Address:= _
Chemin & Nom, TextToDisplay:= _
Cells(ActiveCell.Row, 4) & "X"
Workbooks.Open (Source)
ActiveWorkbook.SaveAs (Chemin & Nom)
End If

End Sub

Un dernier grand merci à Daniel

à plus

Greg

NB: Je viens de me commander 3 bouquins pour mieux maîtriser le VBA...
Mais je crois que j'aurai encore longtemps besoin de vous...


"Greg" a écrit dans le message de
news:
Rebonjour,

Dans les 3 cas, vu d'Excel, le fichier se nomme "S1". Je viens de voir
que tu avais envoyé un nouveau code. Je vais essayer de ce pas.

Greg

"FFO" a écrit dans le message de
news:
Rebonjour à toi


Peux tu me dire lorsque tu ouvres le fichier S1.xls nouvellement créé
par le
code soit en doublecliquant dessus, soit par Fichier/ouvrir de
l'application
Excel soit en activant le lien Hypertexte (l'ayant refermé au paravant
car
ouvert par le code) quel nom porte t'il vue d'Excel

Merci de ta réponse avec les 3 manières décrites









Avatar
FFO
Rebonjour Greg

Rassures toi je ne t'en veux point et Daniel compte tenu de toutes ses
implications mèrite tes remerciements même sur ce post

A bientôt sans doute !!!!!
Avatar
Daniel.C
Bonjour.
Je pense que tu les pris à juste titre pour toi.
Daniel

Salut Daniel
Tu as du penser trés fort et m'inspirer grandement pour sortir la potion
miracle
Ces remerciements ne sont pas anodin
Profites en !!!!


Avatar
LSteph
Comme quoi ceux qui pensent d'abord à apporter...

Mes amitiés à FFO et Daniel au terme de cette active journée..
..j'ai attendu que cet orage passe un peu
outre mon vaillant matériel qui tient malgré tout avec foi
mais n'aurait pas sans doute pas résisté si je l'avais laissé branché.

@+

--
lSteph

FFO a écrit :
Rebonjour Greg

Rassures toi je ne t'en veux point et Daniel compte tenu de toutes ses
implications mèrite tes remerciements même sur ce post

A bientôt sans doute !!!!!



Avatar
FFO
Salut LSteph

C'est gentil à toi merci !!!!
1 2