Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment ouvrir un document Word sur une page précise ?
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


Comment déclencher le lien hypertexte contenu dans une cellule ?
auteur : SilkyRoad
Vba

Sub Test()
    DeclencheLien Range("A1")
End Sub


Sub DeclencheLien(Cellule As Range)
'Vérifie si la cellule contient un lien
If Cellule.Hyperlinks.Count = 0 Then
    MsgBox "il n'y a pas de lien hypertexte dans la cellule " & Cellule.Address
    Else
    'Déclenche le lien
    Cellule.Hyperlinks(1).Follow NewWindow:=True
End If
End Sub

Comment extraire les liens hypertextes ?
auteur : SilkyRoad
La procédure suivante extrait les liens hypertextes contenus dans la colonne A.
Les adresses s'inscrivent à coté, dans la colonne B.

Vba

Sub ExtractionLiensHypertextes()
    Dim Cell As Range
    Dim Ligne As Integer
    
    'Récupère le numéro de la dernière ligne non vide
    Ligne = Columns(1).SpecialCells(xlCellTypeLastCell).Row
    
    'Boucle sur les cellules de la colonne A
    For Each Cell In Range("A1:A" & Ligne)
        If Cell.Hyperlinks.Count > 0 Then _
            Cell.Offset(0, 1) = Cell.Hyperlinks(1).Address
    Next Cell
End Sub

Comment imprimer la page active et les tous les classeurs liés ?
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
'Imprime la feuille active
ActiveSheet.PrintOut

'Boucle sur les liens de la feuille active
For Each Lien In ActiveSheet.Hyperlinks
    'Vérifie si le lien correspond à un classeur
    If Right(Range(Lien.Range.Address).Hyperlinks(1).Address, 4) = ".xls" Then
        'Déclenche le lien pour ouvrir le classeur
        Range(Lien.Range.Address).Hyperlinks(1).Follow NewWindow:=False
        
        'Imprime le classeur
        ActiveWorkbook.PrintOut
        
        'Referme le classeur
        ActiveWorkbook.Close
    End If
Next

Application.ScreenUpdating = True
End Sub

Comment créer un lien email dans une cellule ?
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


Comment ouvrir l'explorateur Windows sur le répertoire contenant le classeur, sans macro ?
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")



Comment désactiver le formatage automatique des cellules en lien web ?
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.



Comment créer un lien hypertexte vers une feuille graphique ?
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
       
       'Active le feuille graphique si elle existe.
       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.



Comment utiliser la fonction LIEN_HYPERTEXTE ?
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")



precedent    sommaire    suivant   

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.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com