VBA EXCEL

Fermé
kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009 - 21 août 2009 à 14:19
kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009 - 1 sept. 2009 à 05:48
Bonjour,

j'ai un problème dans mon projet en VBA EXCEl,ce problème est le suivant :

je voudrais créer un lien hypertexte dans une cellule , ça se fait simplement sous une page d' EXCEl mais j'aimerais avoir le code équivalent en VBA qui me permettre de lancer la fenêtre du lien hypertexte comme si je clique sur l'icône dans la feuille de calcul.

au même temps j'aimerais avoir s'il y a une possibilité de créer un fichier exécutable à partir d'un projet VBA
A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 750
21 août 2009 à 16:29
Salut,
Pour créer un lien Hypertexte dans une cellule en VBA c'est facile :
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="https://forums.commentcamarche.net/forum/affich-13993729-vba-excel"
Par contre je n'ai pas compris : qui me permettre de lancer la fenêtre du lien hypertexte comme si je clique sur l'icône dans la feuille de calcul
0
kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009
21 août 2009 à 23:17
Bonjour,
merci mr pijaku pour ton intervention ,mais tu n'as pas compris mon objectif
on exécutant ton code
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="https://forums.commentcamarche.net/forum/affich-13993729-vba-excel"

le problème est que t'as déjà fixé le lien dans la cellule active,mais je voudrais donner aux utilisateur le choix du fichier auquel aimeront créer un lien.

en d'autre termes j'aimerais avoir une adresse dynamique selon le besoin de l'utilistateur ,par exemple quand il clique sur un button ce button là l'amène vers le dique dire pour choisir un fichier souhaité et automatiquement le code va être généré.
0
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 32
22 août 2009 à 10:08
Bonjour à vous 2.
En fait ce que pijaku te dis c'est d'utiliser le code

ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="https://forums.commentcamarche.net/forum/affich-13993729-vba-excel"

pour créer le lien; à toi de mettre en variable l'adresse

Dim Adresse As String
Adresse = "C:\Windows\System32\Calc.exe"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="" & Adresse & "", ScreenTip:="" & Adresse & "", TextToDisplay:="" & ActiveCell.Text & ""

avec
Address:= La cible de ton fichier
ScreenTip:= Le texte en info bulle de ton lien
TextToDisplay:= Le contenu a afficher dans la cellule

0
kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009
22 août 2009 à 14:48
Bonjour à vous 2,

merci d'abord pour ta participation mr.NicoDisso

je suis tout à fait d'accord avec toi ,mais la contrainte ici est que tu as obligé l'utilisateur à écrire le lien manuellement mais est-ce qu'il y a pas une option qui faire sortir une fenêtre et lorsque l'utilisateur clique sur un fichier , l'adresse sera générée AUTOMATIQUEMENT

pour éclaircir ce que je viens de dire ,j'ai un exemple:
lorsque vous cliquez sur une cellule et puis vous décidez de créer un lien hypertexte une fenêtre va AUTOMATIQUEMENT apparaître pour que vous puissiez sélectionner votre fichier ,

moi je voudrais un code qui me permettre d'afficher cette fenêtre est tout !!!!

et merci pour vous tous.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 750 > kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009
24 août 2009 à 09:47
Salut,
Bon week end?
Après recherches sur le Net, je t'ai trouvé ceci :

Set objDialog = CreateObject("SAFRCFileDlg.FileOpen")
objDialog.OpenFileOpenDlg
OpenFile = objDialog.Filename
strFileName = objDialog.Filename
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:=strFileName

C'est bien ce que tu cherches?
0
kira_safi > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
24 août 2009 à 15:02
Bonjour,

merci mr pijaku pour tes infos et pour le code mais il reste encore quelques petits détails

le type de OpenFile et strFileName parceque lors de l'exécution,le compilateur m'a envoyé un message auquel il me dit que ces deux trucs là sont inconnus

et quand j'ai essayé de les définir comme des variables ou comme des objets il m'a afficher une erreur : "un composant ActiveX ne peut pas créer d'objet "

merci pour ton aide.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 750 > kira_safi
24 août 2009 à 15:16
Si j'ai bien compris moi même (c'est loin d'être sur crois moi!!!) :
strFileName correspond à une déclaration de variable équivalant à "Dim FileName As String"
De plus, la ligne de code avec "OpenFile" est inutile dans ton cas. Si la macro précédente ne fonctionne pas essaie ceci :

Dim FileName As String
Set objDialog = CreateObject("SAFRCFileDlg.FileOpen")
objDialog.OpenFileOpenDlg
FileName = objDialog.FileName
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:=FileName
0
kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
25 août 2009 à 03:38
Bonjour,

je vous remercie infiniment mr.pijaku mais malheureusement pas de succès jusqu'à maintenant

quand j'ai essayé ton code, VBA m'a affiché une fenêtre d'erreur qui me dit que la variable objDialog est non définie et quand je l'ai définie comme étant un objet le message terrible s'afficha encore :
"un composant ActiveX ne peut pas créer d'objet"
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
28 août 2009 à 08:42
bonjour,
je voudrais pas taper l'incruste mais....

je viens de tester ce code il fonctionne sous 2007.

Il serait sans doute interessant de vérifier les préférences, car si l'objet échoue c'est peut-être que sa bibliothèque n'est pas accessible.

Dans Alt F11 (Vba) Outils/préférences.

Vérifier qu'il n'y a pas une ligne qui contiennent le mot "MANQUANT" auquel cas la décocher.
Pour infos, moi j'ai 4 lignes de cochée:
Visual basic for application
microsoft excel 12.0 obj lib...
OLE automation
Microsoft office 12.0 obj.. lib...

et ça marche sans erreur.

Bonne journée.
0
kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009
28 août 2009 à 16:56
merci,

mais il ne marche pas mêmes avec les références que t'as indiqués
0
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 293
31 août 2009 à 09:14
désolé je vois pas
0
kira_safi Messages postés 10 Date d'inscription vendredi 21 août 2009 Statut Membre Dernière intervention 1 septembre 2009
1 sept. 2009 à 05:48
salut,
merci mais je pense que le problème vient de windows, car j'utilise windows 7.
0