|  | auteur : SilkyRoad |  
Ajoutez un signet dans le document Word, à l'emplacement souhaité, puis fermez le fichier. 
Ensuite, lors de la création du lien hypertexte dans Excel, spécifiez le nom du signet à atteindre. 
Exemple:  
C:\Dossier\MonFichier.doc#NomDuSignet
  
Le document Word s'ouvrira directement à l'emplacement du signet lorsque vous cliquerez su le lien hypertexte.
 
  
La même opération, pour ouvrir un fichier Word par macro et atteindre un signet:
  
 | Vba |  
ThisWorkbook.FollowHyperlink "C:\Dossier\MonFichier.doc#NomDuSignet", , True
  |  
  |  
  |  | auteur : Bidou |  
	On peut ajouter un lien indifféremment à un objet ou à une plage.
  
 | Vba |   
Dim objLink As Hyperlink
Set objLink = ActiveSheet.Hyperlinks.Add(Range("F2"), "d:\user\tuto.xls")
With objLink
    .SubAddress = "A1:C10"
    .Follow NewWindow:=True
End With
  |  
 
  
	Ce code crée le lien est ouvre une nouvelle fenêtre contenant la cible. Astuce : Lorsqu'on modifie la cible d'un 
lien existant on ne modifie pas le texte du lien. Pour que celui-ci change, il faut modifier la propriété value de la cellule 
contenant le lien :
  
 | Vba |   
objLink.Address = "d:\jmarc.xls"
objLink.Range.Value = "d:\jmarc.xls"
  |  
  |  
  |  | auteur : SilkyRoad |  | Vba |  
Sub Test()
    DeclencheLien Range("A1")
End Sub
Sub DeclencheLien(Cellule As Range)
If Cellule.Hyperlinks.Count = 0 Then
    MsgBox "il n'y a pas de lien hypertexte dans la cellule " & Cellule.Address
    Else
    
    Cellule.Hyperlinks(1).Follow NewWindow:=True
End If
End Sub
  |  
  |  
 
 
  |  | auteur : SilkyRoad |  
Cette macro boucle sur les liens de la feuille active et ouvre le fichier lié s'il s'agit d'un classeur. 
Chaque feuille de ce classeur est ensuite imprimée.
  
 | Vba |  
Sub imprimerPageActiveEt_Liensclasseurs()
Dim Lien As Hyperlink
Dim I As Byte
Application.ScreenUpdating = False
ActiveSheet.PrintOut
For Each Lien In ActiveSheet.Hyperlinks
    
    If Right(Range(Lien.Range.Address).Hyperlinks(1).Address, 4) = ".xls" Then
        
        Range(Lien.Range.Address).Hyperlinks(1).Follow NewWindow:=False
        
        
        ActiveWorkbook.PrintOut
        
        
        ActiveWorkbook.Close
    End If
Next
Application.ScreenUpdating = True
End Sub
  |  
  |  
  |  | auteur : SilkyRoad |  
Saisissez l'adresse de messagerie dans une cellule et appuyez sur la touche Entrée. 
Le lien est créé automatiquement.
  
Si ce n'est pas le cas, faites un clic droit dans la cellule. 
Sélectionnez l'option "Lien hypertexte" dans le menu contextuel. 
Saisissez le mail dans le champ Adresse. 
Cliquez sur le bouton OK pour valider. 
(Le texte mailto: s'ajoute automatiquement lorsque vous saisissez 
le symbole @.)
 
  
La même action par macro:
  
 | Vba |  
Sub CreationLienMail()
    With ActiveSheet
    .Range("A1") = "La description"
    .Hyperlinks.Add .Range("A1"), Address:="mailto:mimi@mail.fr"
    End With
End Sub
  |  
  |  
  |  | auteur : SilkyRoad |  | Vba |  
Sub Test()
    
    
    
    MsgBox VerifHyperlink(Range("A1"))
End Sub
Function VerifHyperlink(Cellule As Range) As Boolean
    Dim Cible As String
    
    
    If Cellule.Hyperlinks.Count = 0 Then
        VerifHyperlink = False
        Exit Function
    End If
    
    
    Cible = Cellule.Hyperlinks(1).Address
    
    
    
    If Dir(Cible) <> "" And Cible <> "" Then
        VerifHyperlink = True
        Else
        VerifHyperlink = False
    End If
End Function
  |  
  |  
  |  | auteur : SilkyRoad |  
Placez cette formule dans la cellule de votre choix. 
Le classeur doit être préalablement sauvegardé pour que ça fonctionne.
  
=LIEN_HYPERTEXTE(GAUCHE(CELLULE("filename");CHERCHE("[";CELLULE("filename");1)-2);"Lien vers le répertoire")
  
 
  |  
  |  | auteur : SilkyRoad |  
Lorsque vous saisissez des liens html ou des adresses mail dans une cellule, ils sont par défaut automatiquement transformés 
en lien cliquable.
  
Pour qu'Excel ne formate pas les cellules comme des liens web: 
Utilisez le menu outils. 
Options de correction automatique.
  
Pour la version Excel2007: 
Cliquez sur le bouton "Office", puis sur le bouton "Options Excel". 
Menu "Vérification". 
Cliquez sur le bouton "Options de vérification automatique".
  
La boîte de dialogue "Correction automatique" s'affiche à l'écran. 
Dans l'onglet “Mise en forme automatique au cours de la frappe”, décochez l'option "Adresse internet et réseau avec des liens hypertexte". 
Cliquez sur le bouton OK pour valider.
Désormais, les liens html et les adresses mails sont considérés comme de simples textes.
  
 
  |  
  |  | auteur : SilkyRoad |  
Ce n'est pas possible directement car une feuille graphique ne contient pas de cellule à lier. 
Une solution de substitution consiste à créer le lien vers une cellule d'un autre onglet et cette cellule 
contiendra le nom de la feuille graphique. Ensuite, dans le module objet de l'onglet contenant la cellule de 
destination, ajoutez cette macro évènementielle:
  	
 | Vba |   
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Ch As Chart
    
    If Not Intersect(Target, Range("A1")) Is Nothing Then
       On Error Resume Next
       Set Ch = Charts(Target.Value)
       On Error GoTo 0
       
       
       If Not Ch Is Nothing Then Charts(Target.Value).Activate
    End If
End Sub
  |  
 
  
Le lien va atteindre la cellule et l'évènement SelectionChange redirige automatiquement vers le graphique, dont le nom 
est saisi dans la cellule. Ici, le lien doit pointer vers la cellule A1.
  
 
  |  
  |  | auteur : SilkyRoad |  
Cette fonction permet d'ouvrir un autre fichier et/ou d'atteindre un emplacement particulier. 
=LIEN_HYPERTEXTE("C:\dossier\test.pdf";"Cliquez ici !") 
=LIEN_HYPERTEXTE("C:\dossier\NomClasseur.xls";"Cliquez ici !") 
=LIEN_HYPERTEXTE("http://www.developpez.com/";"Cliquez ici !")
  
Vous pouvez indiquer un nom de serveur UNC: 
=HYPERLINK("\\NomServeur\dossier\NomClasseur.xls";"Cliquez ici !")
  
Pour ouvrir un classeur et atteindre une cellule particulière: 
=LIEN_HYPERTEXTE("C:\dossier\NomClasseur.xls#'Feuil1'!G50";"Cliquez ici !")
  
Pour atteindre une cellule ou une plage nommée: 
=LIEN_HYPERTEXTE("[C:\dossier\NomClasseur.xls]NomTest";"Cliquez ici !")
  
Si vous souhaitez créer un lien hypertexte vers un emplacement précis dans un document Microsoft Word, 
utilisez un signet pour définir cet emplacement. L'exemple suivant crée un lien hypertexte vers le signet "Signet1" 
dans le document nommé monFichier.doc 
=LIEN_HYPERTEXTE("C:\monFichier.doc#Signet1";"Cliquez ici") 
  
Accéder à la cellule D10 dans la Feuil2, du même classeur: 
=LIEN_HYPERTEXTE("[monClasseur]Feuil2!D10";"Mon lien hypertexte")
  
3 Remarques:  
Même si vous restez dans le même classeur, précisez son nom.
  
Si le nom de la feuille contient un espace , le nom doit être encadré par des apostrophes: 
=LIEN_HYPERTEXTE("[monClasseur.xls]'ma feuille'!D10";"Mon lien hypertexte")
  
Si le nom du classeur est amené à changer dans le temps vous pouvez utiliser: 
=LIEN_HYPERTEXTE("["&STXT(CELLULE("nomfichier"); TROUVE("["; CELLULE("nomfichier"))+1;TROUVE("]"; CELLULE("nomfichier"))- TROUVE("["; 
CELLULE("nomfichier"))-1)&"]'ma feuille'!D10";"Mon lien hypertexte")
  
 
  |  
 
 
 
						Consultez les autres F.A.Q's
					 
 Les sources présentés sur cette pages sont libre de droits,
			et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
			Copyright ©2008 
			Developpez LLC. Tout droits réservés Developpez LLC.
			Aucune reproduction, même partielle, ne peut être faite de ce site et de
			l'ensemble de son contenu : textes, documents et images sans l'autorisation
			expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
			de prison et jusqu'à 300 000 E de dommages et intérets.
			Cette page est déposée à la SACD. 
												 |