Générer un lien vers un fichier PDF
Bonjour @ tous,
je suis en trin de réaliser un petit facturier
j'ai une page qui me permet de créer une facture
Dedans
- un bouton qui permet de remettre la facture à 0
- un bouton qui permet d'incrémenter le numéro de la facture (nouvelle facture)
- un bouton qui permet l'enregistrement
le bouton enregistrer permet de généré un pdf dans un dossier de l'année en cours (ce qu'il fait correctement)
Ce bouton permet d'inscrire également une ligne dans un fichier compte (feuille Compte client)
Ce que j'essaie de faire maintenant c'est de rendre la première cellule de la ligne, de la feuille compte client cliquable et ainsi permettre l'ouverture de la facture (fichier pdf généré précédemment)... ce pendant je calle
Sub EnregistrerFacture()
Dim Fichier As String
Dim cpt As Integer
Dim Facture, Client As String
Dim DateFacture, DateEcheance As Date
Dim MontantHTVA, TVA6, TVA19, TVA21 As Integer
Dim Chemin, FichierSrc, FichierDest, FeuilleDest, FeuilleSrc As String
'Chemin = Environ("UserProfile") & "\OneDrive\" & Format(Year(Date), "0000") & "\"
Chemin = ThisWorkbook.Path & "\"
FichierDest = "comptes.xlsm"
FichierSrc = "facturier.xlsm"
FeuilleDest = "Compte Client"
FeuilleSrc = "Facture"
MontantHTVA = 0
TVA6 = 0
TVA19 = 0
TVA21 = 0
Facture = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("B6").Value
Client = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("D3").Value
DateFacture = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("B7").Value
DateEcheance = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("B8").Value
MontantHTVA = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("F32").Value
Fichier = ThisWorkbook.Path & "\" & Format(Year(Date), "0000") & "\" & Format(Year(Date), "0000") & Format(Month(Date), "00") & Format(Day(Date), "00") & " facture " & [B6].Value & " " & [D3].Value & ".pdf"
Select Case Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("D33").Value
Case "0,06"
TVA6 = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("F33").Value
Case "0,19"
TVA19 = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("F33").Value
Case "0,21"
TVA21 = Workbooks(FichierSrc).Worksheets(FeuilleSrc).Range("F33").Value
End Select
Application.ScreenUpdating = Flase
Workbooks.Open Chemin & FichierDest
cpt = 0
cpt = Workbooks(FichierDest).Worksheets(FeuilleDest).Range("A" & Rows.Count).End(xlUp).Row + 1
'MsgBox cpt
'Workbooks(FichierDest).Worksheets(FeuilleDest).Range("A" & cpt).Value = Facture
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("A" & cpt).Formula = "=HYPERLINK(Fichier,Facture)"
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("B" & cpt).Value = Client
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("C" & cpt).Value = DateFacture
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("D" & cpt).Value = DateEcheance
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("E" & cpt).Value = MontantHTVA
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("F" & cpt).Value = TVA6
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("G" & cpt).Value = TVA19
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("H" & cpt).Value = TVA21
Workbooks(FichierDest).Close True
Application.ScreenUpdating = True
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fichier, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
En l'état actuel des choses le contenu de la cellule affiche =LIEN_HYPERTEXTE(Fichier;Facture)
j'ai bien essayé ceci mais alors il m'insère des ' comme ceci 'C':\...... alors qu'on devrait arriver à =LIEN_HYPERTEXTE("fichier.pdf";"NomFacture")
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("A" & cpt).Formula = "=HYPERLINK(" & Fichier & "," & Facture & ")"
Quelqu'un a t il rencontré ce genre de soucis....
Merci pour l'aide
excellente soirée
Bonjour,
Pour ajouter le lien hypertexte :
Au lieu de :
Workbooks(FichierDest).Worksheets(FeuilleDest).Range("A" & cpt).Formula = "=HYPERLINK(Fichier,Facture)"
Essayer :
Dim c As Range
Set c = Workbooks(FichierDest).Worksheets(FeuilleDest).Range("A" & cpt)
c.Hyperlinks.Add Anchor:=c, Address:=Fichier, TextToDisplay:=Facture
Super Merci
cela fonctionne
excellente soirée