Lien cliquable tableau Excel

bonjour à tous,

je souhaiterais créer un tableau avec plusieurs colonnes. l'une d'entre elle aurait un numéro de devis avec sur un lien cliquable avec ouverture automatique du devis sur fichier excel. Le debut du tableau est créé par contre lorsque je clique sur le lien dv-001, le tableau enregistré sur mon bureau ne s'ouvre pas. Sauriez vous m'aider svp ?

merci à tous

14tableau-devis.xlsx (9.05 Ko)

Bonjour et bienvenue sur ce forum

Désolé, mais je ne comprends pas votre question avec le fichier donné

Vous avez bien un lien, mais il pointe vers internet

=LIEN_HYPERTEXTE("https://exemple.com/devis/DV-001.XLSX"; "DV-001")

A+

Bonjour et bienvenu sur le forum

Ton fichier est sur internet: https://exemple.com/devis/DV-002.pdf

si c'est le cas revoir l'adresse

Pour faire un lien:

Clic droit/lien

et tu choisi le fichier

A+ François

justement, le lien ne devrait pas se diriger vers internet, je souhaiterais que le lien me dirige vers un fichier excel enregistré sur mon bureau

Bonsoir,

A tester le fichier joint,
Ps: activer les macros

8tableau-devis.xlsm (19.38 Ko)

Slts

oh merci beaucoup, cela fonctionne.

je ne voudrais pas abuser mais, penses-tu qu'il soit possible que le montant total du devis en question puis s'inscrire automatiquement dans le tableau que tu as modifié, dès lors que le montant est inscrit sur le devis ? mais peut-être que j'en demande trop..

en tout cas merci encore, trop contente

Re

oh merci beaucoup, cela fonctionne.

par contre, est ce possible de m'indiquer où pourrais-je retrouver la macro créée, et me l'expliquer s'il te plait?

merci encore, trop contente

Oui pour visualiser la macro tu sélectionnes ton onglet Sheet1

Tu clic sur Alt + F11 ou clic droit Visualiser le code ce qui va ouvrir Microsoft Visual Basic et la macro se trouve dans le module1 qui se trouve côté droit en haut faire un double clic dessus pour l'ouvrir

Sub LierDevisPDF()
    Dim fd As FileDialog
    Dim cheminFichier As String
    Dim nomFichier As String
    Dim cellule As Range
    ' Vérifie que la cellule active est dans la colonne E
    If Not Intersect(ActiveCell, Range("E2:E1000")) Is Nothing Then
        ' Ouvre l'explorateur de fichiers
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
        With fd
            .Title = "Sélectionnez le fichier PDF,EXCEL du devis"
            .Filters.Clear
            .Filters.Add "Fichiers PDF,EXCEL", "*.pdf,.xlsm,.xlsx"
            .AllowMultiSelect = False

            If .Show = -1 Then
                cheminFichier = .SelectedItems(1)
                nomFichier = Mid(cheminFichier, InStrRev(cheminFichier, "\") + 1) ' extrait le nom du fichier
                Set cellule = ActiveCell

                ' Ajoute le lien hypertexte avec le nom du fichier comme texte
                cellule.Hyperlinks.Add _
                    Anchor:=cellule, _
                    Address:=cheminFichier, _
                    TextToDisplay:=nomFichier
            End If
        End With
    Else
        MsgBox "Veuillez cliquer dans une cellule de la colonne E.", vbExclamation
    End If
End Sub

Et celle qui va commander la macro par le double clic se trouve dans Feuil1 (Sheet1) qui se trouve côté droit en haut faire un double clic dessus pour l'ouvrir

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Count = 1 And Not Intersect(Target, Me.Range("E2:E1000")) Is Nothing Then
        Call LierDevisPDF
    End If
End Sub

Pour l'explication je verrais demain aujourd'hui c'est trop tard

Slts

merci

Bonjour

J'ai vu que tu as modifié ton texte

oh merci beaucoup, cela fonctionne.

par contre, est ce possible de m'indiquer où pourrais-je retrouver la macro créée, et me l'expliquer s'il te plait?

merci encore, trop contente

Par:

oh merci beaucoup, cela fonctionne.

je ne voudrais pas abuser mais, penses-tu qu'il soit possible que le montant total du devis en question puis s'inscrire automatiquement dans le tableau que tu as modifié, dès lors que le montant est inscrit sur le devis ? mais peut-être que j'en demande trop..

en tout cas merci encore, trop contente

********Désolé je ne comprends pas bien ce que tu demandes********

Explication en gros "en couleur vert" la macro du Module1

'Début de la macro.
Sub LierDevisPDF()

'Déclare les variables
'Dim fd:==>l'explorateur de fichiers.
'Dim cheminFichier:==> le chemin complet du fichier sélectionné.
'Dim nomFichier: ==>le nom du fichier sans le chemin.
'Dim cellule:==> pour garder une référence sur la cellule active.
    Dim fd As FileDialog
    Dim cheminFichier As String
    Dim nomFichier As String
    Dim cellule As Range

'Vérifie que la cellule sélectionnée est bien dans la colonne E (de la ligne 2 à 1000). Sinon, on ne fait rien
    If Not Intersect(ActiveCell, Range("E2:E1000")) Is Nothing Then

'Crée l'objet "explorateur de fichiers".
        Set fd = Application.FileDialog(msoFileDialogFilePicker)

'Personnalisation:
'Titre de la fenêtre
'Filtrage pour n’afficher que les fichiers .pdf,.Excel
'Pas de sélection multiple (un seul fichier à la fois)
        With fd
            .Title = "Sélectionnez le fichier PDF,EXCEL du devis"
            .Filters.Clear
            .Filters.Add "Fichiers PDF,EXCEL", "*.pdf,.xlsm,.xlsx"
            .AllowMultiSelect = False

'Si l’utilisateur clique sur "Ouvrir" (et pas "Annuler")...
            If .Show = -1 Then
'On récupère le chemin complet du fichier sélectionné.
                cheminFichier = .SelectedItems(1)
'On extrait uniquement le nom du fichier (ex : Devis_1234.pdf) depuis le chemin complet.
                nomFichier = Mid(cheminFichier, InStrRev(cheminFichier, "\") + 1) ' extrait le nom du fichier
'On garde une référence sur la cellule active (dans la colonne E).
                Set cellule = ActiveCell

'On ajoute un lien hypertexte dans la cellule :
'Address : chemin complet du fichier (ex : C:\...\Devis.pdf)
'TextToDisplay : nom du fichier à afficher dans la cellule
' Ajoute le lien hypertexte avec le nom du fichier comme texte
                cellule.Hyperlinks.Add _
                    Anchor:=cellule, _
                    Address:=cheminFichier, _
                    TextToDisplay:=nomFichier
'Si la cellule active n’est pas dans la colonne E, on affiche un message d’alerte.
            End If
        End With
    Else
        MsgBox "Veuillez cliquer dans une cellule de la colonne E.", vbExclamation
    End If
End Sub

Explication "en vert" de la procédure, associée à la feuille

'Début de la procédure, associée à la feuille (et non un module standard !)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

'Tu ne sélectionnes qu’une seule cellule (pas une plage),
'Et que la cellule est dans la colonne E, lignes 2 à 1000...
    If Target.Count = 1 And Not Intersect(Target, Me.Range("E2:E1000")) Is Nothing Then

'on appelle la macro LierDevisPDF automatiquement
        Call LierDevisPDF

'Fin de la procédure.
    End If
End Sub

Slts

Rechercher des sujets similaires à "lien cliquable tableau"