> Tous les forums > Forum Bureautique
 Créer un lien hypertexte vbaSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
patton
  Posté le 12/08/2014 @ 13:06 
Aller en bas de la page 
Petit astucien

Bonjour à tous!!!

Voilà, je me heurte à un petit souci :

J'enregistre un fichier Excel sous un nom (disons toto dans le dossier titi) dans une première procédure.

Je l'enregistre dans une variable :

fName = Application.GetSaveAsFilename

Je voudrais récupérer ce nom pour l'utiliser dans une deuxième procédure pour créer un lien hypertexte vers ce fichier.

Merci à tous!!!

Publicité
ferrand
 Posté le 12/08/2014 à 15:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Précise ce que tu veux faire ! ?

Classeur qui contient la procédure - Classeur nommé - Classeur qui accueille lien ... ??

Ta variable doit être niveau module, le cas échéant publique, pour récupérer sont contenu dans une autre procédure.

patton
 Posté le 12/08/2014 à 15:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

En fait, je fait un copier / coller de certaines cellules d'un premier classeur (celui qui est enregistré dans ma variable) vers un deuxième classeur

Windows("Classeur1").Activate

Range("D19").Select

Application.CutCopyMode = False

Selection.Copy

Windows("Classeur2").Activate

Range("B32").Select

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

False, Transpose:=False

Windows("Classeur1").Activate

Application.CutCopyMode = False

Range("D11").Select

Selection.Copy

Windows("Classeur2").Activate

Range("C32").Select

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

False, Transpose:=False

etc......

ferrand
 Posté le 12/08/2014 à 15:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Ça du code enregistré, qui mériterait d'être réécrit, mais sans rapport avec un quelconque lien hypertexte ?

patton
 Posté le 12/08/2014 à 15:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

j'ai utilisé l'enregistreur car je suis une truffe en vba ...
Comment faire si je souhaite que "C32" contienne en plus le lien hypertexte...
Si la ligne n'y est pas c'est parce que je ne sais pas comment l'écrire

ferrand
 Posté le 12/08/2014 à 17:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Exemple de syntaxe :

ActiveSheet.Hyperlinks.Add Range("C32"), "E:\Documents\Classeur1.xls"

patton
 Posté le 13/08/2014 à 08:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

Exemple de syntaxe :

ActiveSheet.Hyperlinks.Add Range("C32"), "E:\Documents\Classeur1.xls"

Déjà je progresse en comprenant la syntaxe.
Mais ton exemple est OK avec un lien entré en dur.

Quid de ma variable?????

patton
 Posté le 13/08/2014 à 09:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ca marche!!
J'ai mis la variable en global

Comme quoi les solutions simples ne sautent pas toujours aux yeux

Merci encore

ferrand
 Posté le 13/08/2014 à 10:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Déjà je progresse en comprenant la syntaxe.

Pour simplifier ton code enregistré, exemple : dans une séquence telle que :

Windows("Classeur1").Activate
Range("D19").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Classeur2").Activate
Range("B32").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

VBA n'a nul besoin d'activer ou sélectionner pour mener à terme une action (sauf bien sûr si l'action est justement de sélectionner...). Au contraire, cela ralentit l'exécution. Ce code résulte du fait que c'est chaque mouvement de l'utilisateur qui est enregistré, et de surcroît l'enregistreur reproduit les valeurs par défaut des arguments, ce qui alourdit encore le code. Il suffit donc de :

Workbooks("Classeur1.xls").Range("D19").Copy
Workbooks("Classeur2.xls").Range("B32").PasteSpecial xlPasteValues

(NB- L'utilisation de l'objet Workbook est préférable à l'objet Window si la commande porte sur le contenu et non l'affichage dans la fenêtre ; "Application.CutCopyMode = False" sert à vider le Presse-papier, ici inutile puisque son contenu va être remplacé par la copie, et généralement inutile sauf avant fermeture pour inhiber le message demandant si l'on veut conserver ou non son contenu ; pour le collage en valeurs, un seul argument utile "Paste:=" qui n'a pas sa valeur par défaut, premier argument : on gagne donc à le fournir par position plutôt que le nommer.)

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Caméra de surveillance extérieure TP-Link Tapo C500 (360°, alarme sonore personnalisable) à 34,99 €
34,99 € 59,99 € -42% @Amazon

Amazon fait une promotion sur la caméra extérieure de surveillance TP-Link Tapo C500 qui passe à 34,99 € livrée gratuitement au lieu de 59,99 € ailleurs. Cette caméra se connecte à votre réseau en WiFi et peut ensuite être contrôlée à distance. Elle offre une définition FHD 1080p, la vision nocturne, pivote à 360° à l'horizontale et 130° à la verticale, la détection et le suivi de mouvements (recevez une notification si quelque chose est détecté), une alarme sonore que vous pouvez personnaliser . Le stockage se fait (gratuitement) en local sur une carte MicroSD ou bien dans le cloud via un abonnement. Elle est étanche IP65.


Voir le bon plan
PlayStation 5 Standard + EA Sports FC24 à 499,99 €
499,99 € 619,99 € -19% @Amazon

Amazon propose en précommande le pack PlayStation 5 Standard accompagnée du jeu EA Sports FC24 (=Fifa 2024) à 499,99 € au lieu de 619,99 €. Le pack sortira le 29 septembre et vous sera envoyé dans la foulée.


Voir le bon plan
Kit de surveillance Tapo C420S2 (2 caméras + base avec alarme sonore, QHD, extérieur IP65, WiFi) à 181,81 € livré
181,81 € 249,99 € -27% @Amazon Allemagne

Amazon Allemagne fait une belle promotion sur le kit Tapo C420S2 qui passe à 175,45 €. Comptez 6,36 € pour la livraison en France soit un total de 181,81 € livré au lieu de 249,99 €. Ce kit comporte 2 caméras de surveillance extérieures sans fil IP65, définition 4MP (QHD 2560x1440) avec détection de mouvements, vision nocturne, alarme sonore et lumineuse, audio bidirectionnel, batterie 180 jours. Stockage gratuit en local sur carte microSD dans la base, sur un NAS (compatible Synology) ou bien dans le cloud avec le service Tapo Care (sur abonnement).


Voir le bon plan
Switch Gigabit TP-Link LS1005G 5 ports à 12,90 €
12,90 € 19 € -32% @Amazon

Amazon propose actuellement le switch Gigabit TP-Link LS1005G 5 ports (10/100/1000) à 12,90 €. On le trouve habituellement autour de 19 €.


Voir le bon plan
PC Portable 16 pouces HP Victus (FHD 144 Hz, Ryzen 7 7840HS, 16Go/512Go, RTX 4070 8 Go) à 1249,99 €
1249,99 € 1599 € -22% @RueDuCommerce

RueDuCommerce fait une promotion sur le PC Portable 16 pouces HP Victus 16-s0010nf qui passe à 1249,99 € avec le code RDC50. On le trouve habituellement à 1599 €.

Il comporte un écran IPS Full HD de 16.1 pouces IPS, un processeur AMD Ryzen 7 7840HS (8 coeurs), 16 Go de RAM DDR5, un SSD de 512 Go, une carte graphique dédiée GeForce RTX 4070 8 Go, un clavier rétro éclairé,. Il possède aussi le WiFi 6, le bluetooth 5.2, 2 ports USB 3.1 type C, un port USB 3.2 Gen 2, un port HDMI 2.1 et un port Ethernet.

L'ordinateur est livré sans OS mais vous pouvez facilement installer Windows 10/11 pour quelques euros.

Une bonne affaire pour un portable performant dernière génération : bureautique, Internet, multimédia et gros jeux.


Voir le bon plan
Carte graphique Sapphire Radeon RX 7700 XT Pulse 12 Go à 454 €
454 € 500 € -9% @Materiel.net

Cdiscount fait une promotion sur la carte graphique Sapphire Radeon RX 7700 XT Pulse 12 Go qui passe à 454 € avec le code 50DES499 au lieu de 500 €. 

Avec le jeu en 1440p en ligne de mire, la carte graphique Sapphire Radeon RX 7700 XT Pulse apporte performances, fluidité et précision. Grâce à l'architecture AMD RDNA 3, le saut générationnel par rapport à la génération précédente, 12 Go de mémoire GDDR6 et l'Infinity Cache, vous permettront de créer une configuration PC gaming performante.


Voir le bon plan

Sujets relatifs
dans word 2007 créer retour d'un lien hypertexte
Créer un titre pour lien hypertexte
Créer un lien hypertexte dans le même document!
lien hypertexte de excel vers messagerie
[XL+lien hypertexte+googlemap]
Lien Hypertexte
Lien hypertexte vers messagerie
Macro Excel 2010-lien hypertexte
lien hypertexte - changer la couleur
Modifier un lien hypertexte
Plus de sujets relatifs à Créer un lien hypertexte vba
 > Tous les forums > Forum Bureautique