Visual Basic (lien hypertexte)

steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007 - 7 mars 2007 à 10:14
autodidacte33 Messages postés 10 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 20 juin 2008 - 20 déc. 2007 à 11:49
Bonjour à tous et à toutes,

Voila, moi j'ai un souci sous visual basic et j'aimerais avoir des informations.

Je suis en train de faire un programme et je voudrais savoir s'il est possible de créer un programme pour afficher une fenêtre afin d'affecter à une cellule un lien hypertexte??

Ou encore s' il serait envisageable de créer un programme pour qu 'un lien hypertexte différents pour chaque cellules s'affectent automatiquement dès exécution du programme ??

Voila je vous remercie d'avance car sa m'aiderais énormément.

PS  : si quelqu' un à une proposition elle sera la bienvenue.

A+.Tchao.
Steven

20 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
7 mars 2007 à 10:56
Salut, si cela peut t'aider:

Utilisez la méthode [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaxl10.chm::/html/xlmthAdd1.htm Add] pour créer un lien hypertexte et l'ajouter à la collection Hyperlinks. L'exemple suivant montre comment créer un lien hypertexte pour la cellule E5.



With Worksheets(1)
    .Hyperlinks.Add .Range("E5"), "http://example.microsoft.com"
End With

Utilisation de l'objet HyperlinkUtilisez la propriété [mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1036\vbaxl10.chm::/html/xlproHyperlink1.htm Hyperlink] pour renvoyer le lien hypertexte d'une forme (une forme ne peut utiliser qu'un seul lien hypertexte). L'exemple suivant montre comment activer le lien hypertexte de la forme 1.

<code>Worksheets(1).Shapes(1).Hyperlink.Follow NewWindow:=True


</code>




 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
7 mars 2007 à 12:09
Merci pour ton aide mais je n'arrive pas à définir correctement l'adresse du lien hypertexte!

Car moi se n'est pas des lien hypertexte internet mais des liens internes à mon pc!

Moi j'ai mis ceci :        

With Worksheets(1)
.Hyperlinks.Add .Range("A13"), "C:\Documents and Settings\Steven D\Bureau\Suivi Etalonnage by Steven\FICHES DE VIE MSR 001 A 100\[FICHE DE VIE MSR 001 A 050.xls]13'!A1"
End With

Mais ce n'est pas ça car sa marche pas donc si toi ou quelqu'un d'autre peu m'aider se serait super!

A+ tard.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
7 mars 2007 à 13:17
Tiens voilà:

With Worksheets("Feuil1")


.Hyperlinks.Add Range("A1"), "C:\Exemple.xls"


End With

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
cs_loulou69 Messages postés 672 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 2 juin 2016 1
7 mars 2007 à 14:24
bonjour

Si vous voulez créer un lien hypertexte dans une feuille EXCEL contenant des "noms de fichiers complets
ou des URL du type http:// "
Personnellement , j'insére une colonne vide je colle par exemple en B1 la fonction =LIEN_HYPERTEXTE(A1;A1) 
Puis  j'étends la formule dans toute la colonne.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
7 mars 2007 à 15:05
Rebonjour,

J'ai réussi pour faire un lien hypertexte mais ce que je voudrais maintenant c'est que le lien hypertexte s'ouvre à partir de la valeur que j'affecte dans la cellule A13!

et non plus avec une valeur pré affecté dans le programme!

donc si quelqu'un sait comment faire je lui en serait très reconnaissant!

merci!

a+! bye!
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
7 mars 2007 à 15:16
Re: j'ai pas bien compris, explique mieux stp ouvrir le lien avec quoi?

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
7 mars 2007 à 15:38
Re:

En faite la en ce moment le programme ouvre un lien que j'ai défini donc un classeur excel!

mais moi se que je voudrais c'est qu'il ouvre le classeur mais à la bonne feuille suivant la valeur que j'affecte à la cellule A13!

Dans le classeur excel j'ai des feuilles qui vont de 1 à 500 et je veux que quand j'affecte par exemple 145 dans la cellule A13 qu'il m'ouvre le fichier excel à la feuille 145 directement,
si je met 367 qu'il m'ouvre 367 etc etc...

voila j'espère avoir été plus clair car c vrai qu'a d foi jmexprime pa trè bien!

a+
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
7 mars 2007 à 15:42
Et bien une fois le classeur ouvert Workbooks("NomClasseurDuLien").WorkSheets("NonDeLaFeuille").Select

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
7 mars 2007 à 16:15
Re : J'ai pas très bien compris ce que tu veux me faire faire car g essayer é sa ne marche pas!

g pa du comprendre le système que tu ma donné!

si tu peu m'expliqué avec un exemple ou me réexpliqué différemment se srè sympas!

a+!bye
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
7 mars 2007 à 16:21
C'est pas dur une fois que le classeur a été ouvert par les lien du classeur

Tu sélectionnes les feuille que tu veux! Si le nom de la feuille est dans une cellule ça donne ça:
Workbooks("NomClasseurOuvertParLeLien").WorkSheets(Range("A1").value).Select

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
8 mars 2007 à 08:25
C'est peut-être pas dur mais la je sèche complètement car lorsque je lance le programme il me met :

"erreur d'éxecution 9"
"l'indice n'appartient pas à la selection"

moi j'ai mis ceci :

Workbooks("ttes les fiches de vies").Worksheets(Range("A13").Value).Select

donc normalement quand je lance et que j'affecte la valeur 132 dans la cellule A13 la feuille 132 du classeur "toutes les fiches de vies" devrai s'ouvrir??
c'est bien cela?

donc ba je sai pa tro ski spass ya peut-être pas gran chose m'enfin sa ne fonctionne pas.

A+.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
8 mars 2007 à 08:34
Déjà ne jamais mettre d'espace dans les noms de feuille mais un _ (underscore) essaye comme ça déjà!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
8 mars 2007 à 08:43
Je n'ai jamais eu de problème avec les espaces mais g essayé sans en renommant mon classeur!

et j'ai toujours le même souci! la même erreur!

Voila.je sais pas se qui peut engendrer cela.

A+
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
8 mars 2007 à 08:53
Exemple: problème avec Select mais Activate fonctionne:

Activé la feuil2 du classeur 3 depuis la valeur de la cellule A1 de la feuille 1 du classeur 2:

Workbooks("Classeur3").Worksheets(CStr(Workbooks("Classeur2").Worksheets("Feuil1").Range("A1").Value)).Activate

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
8 mars 2007 à 09:42
Re:

J'ai toujours le souci donc je ne sait pas si je l'applique comme il le faudrait!

J'ai écrit :

        Workbooks("Fichesdevies.xls").Worksheets(CStr(Workbooks("SUIVI ETALONNAGE MSR STEVEN.xls").Worksheets("suivi alim").Range("A13").Value)).Activate

donc je devrais activer une feuille du classeur "Fichesdevies.xls" depuis la valeur que contient la cellule A13 de la feuille "suivi alim" du classeur "SUIVI ETALONNAGE MSR STEVEN.xls"

mais j'ai toujours l'erreur :

"erreur d'éxecution 9"
"l'indice n'appartient pas à la selection"

serait-il possible de me dire ou tu as trouvé cet exemple pour voir si je l'applique correctement?

A+
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
8 mars 2007 à 09:48
J'ai créé un classeur 2 et un 3 et j'ai mis ce code dans un bouton d'un userform sur le classeur 2!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
8 mars 2007 à 09:51
Oui j'avais bien compris ceci mais ce que je veux savoir c'est si mon code devrait fonctionné??

Workbooks("Fichesdevies.xls").Worksheets(CStr(Workbooks("SUIVI ETALONNAGE MSR STEVEN.xls").Worksheets("suivi alim").Range("A13").Value)).Activate

donc je devrais activer une feuille du classeur "Fichesdevies.xls" depuis la valeur que contient la cellule A13 de la feuille "suivi alim" du classeur "SUIVI ETALONNAGE MSR STEVEN.xls"

mais j'ai toujours l'erreur :

"erreur d'éxecution 9"
"l'indice n'appartient pas à la selection"
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
8 mars 2007 à 09:55
déjà renomme tout sans espace et essaye en enlevant les .xls dans les noms des classeurs, vérifie aussi la valeur de la cellule A13, après mon code fonctionne, et pour que cela fonctionne il faut que tu vérifie avec les points cités précédement!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
steven_tpnd Messages postés 34 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 23 mars 2007
8 mars 2007 à 10:54
Sa y est j'ai réussi mais je dois passé par un bouton alors que j'aurais préféré que ça le fasse directement!

M'enfin sa marche et je ne vais pas m'en plaindre!

Merci pour ton aide car elle m'a été d'une grande utilité!

bye!A+
0
autodidacte33 Messages postés 10 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 20 juin 2008
20 déc. 2007 à 11:49
Bonjour,
Même Recherche
VBA Problème lien hypertexte à LIENs variable ?


Je rame depuis des jours, mon problème est :


dans mon classeur j’ai l65 feuilles et une macro qui exécute un calcule et un lien qui active une feuille que j’ai appelé  CUMULE, une foi arrivé à la feuille CUMULE c’est la galère !  Comment crée un  lien Hypertexte capable d’exécuter le retour  à la dernière Feuille utilisée avec la même macro (si en clic dessus bien sûr)?


A savoir,



 

 Je copie l’onglé de la feuille(x) ACTIVE dans la variable Var_NomOngle<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>





                       
Dim Var_NomOngle As String



           
            Var_NomOngle = ActiveSheet.Name




  J’active ma feuille "CUMULE"





           Worksheets("CUMULE").Activate



 
Je copie la variable Var_NomOngle dans la cellule "A2" de la feuille CUMULE





          
            
Range("A2").Select






            Range("A2") = Var_NomOngle





 
Je crée mon Lien hypertexte,





                      
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="",  _                                              






                       SubAddress:="'Var_NomOngle!A2", TextToDisplay:="Retour"





Après exécution de la macro dans l’une des 165 feuilles(x) je clic sur  la cellule "A2" de la feuille CUMULE et là une fenêtre d’Excel s’affiche : … <?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 14.25pt; HEIGHT: 14.25pt; mso-position-horizontal-relative: char; mso-position-vertical-relative: line" filled="t" alt="Attention !" type="#_x0000_t75"><v:imagedata o:title="attention" src="file:///C:\DOCUME~1\PC7\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape>  Référence non valide.



 




Après l’échec de mes recherches et plusieurs testes ratés je rame encore.


Toutes aide sera la bienvenue.


J’espère s’il y a ici un savant dans ce domaine qu’il nous éclairera


Quelque soi la valeur de (x) Merci. J



 




Win XP PK2


Office 200x
0
Rejoignez-nous