Bonjour à tous,

Mon Fichier comporte plusieurs onglets:
- FACTURE
- VE
- PRODUITS .......

Je saisie ma facture puis je la valide via un bouton, qui me permets:
- d'enregistrer toutes mes données dans l'onglet VE avec en colonne A, le numéro de facture
- d'enregistrer ma facture au format PDF dans un dossier spécial sur clé USB, par année
- d'incrémenter le numéro de facture pour la suivante
- et d'effacer la facture pour avoir un fichier vierge pour ressaisie.
Tout marque nickel. Aucun problème.

Je souhaiterai savoir s'il est possible de créer un lien automatique entre le numéro de facture de l'onglet VE (en colonne A) et le PDF concerné situé dans ma clé USB, en même temps que le reste.
Pour l'instant je crée manuellement un lien, mais s'il se faisait tout seul, se serait un sacré gain de temps.

Ci joint mon code actuel (Etant novice, j'ai fais comme j'ai pu):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Sub VALIDER()
 
 
      Dim Titres(), Dic As New Dictionary, c As Long, TFact(), L As Long, TRés(), item
    Titres = Feuil4.[A2:BP2].Value    'fait correspondre entêtes de VE avec produits Feuil2
    TFact = Feuil1.[A12:J44].Value
 
    ReDim TRés(1 To 1, 1 To UBound(Titres, 2))
    TRés(1, 1) = TFact(1, 4)    'n° de facture
    TRés(1, 2) = TFact(1, 1)    'date
    TRés(1, 3) = TFact(1, 5)    ' N° client
    TRés(1, 4) = NomClient(TFact(1, 5))    ' Nom client
    TRés(1, 5) = TFact(31, 10)    ' TTC
    TRés(1, 6) = TFact(29, 10)    'HT
    TRés(1, 7) = TFact(30, 5)    'TVA 5.5%
    TRés(1, 8) = TFact(31, 5)    'TVA 7%
    TRés(1, 9) = TFact(32, 5)    'TVA 10%
    TRés(1, 10) = TFact(33, 5)    'TVA 20%
 
    For c = 11 To 68   'produits ligne 2 VE
        For L = 4 To 27    'lignes 15 to 38 de factures
            If TFact(L, 2) = Titres(1, c) Then
                TRés(1, c) = TRés(1, c) + TFact(L, 10)
            End If
        Next
    Next c
 
    Feuil4.Cells(&H100000, 1).End(xlUp).Offset(1).Resize(, 68).Value = TRés
 
 
    'Déclaration des variables
    Dim NomDossier As String
    Dim CheminDossier As String
 
    On Error GoTo 1
 
    'Nom de dossier
     NomDossier = Application.InputBox("Dossier Enregistrement :", "Dossier")
    CheminDossier = "H:\COMPTABILITE\Factures VE\" & NomDossier & "\"
 
    If NomDossier = "" Then Exit Sub
 
    'Enregistrement au format PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    CheminDossier & "Facture_" & Range("J1").Value & ".pdf", quality:= _
    xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
    from:=1, To:=1, openafterpublish:=False
 
1
 
    MsgBox "Facture " & Range("J1").Value & " archivée avec succès."
 
 
    Dim n
 
    n = Right(Range("J1").Value, 5)
 
    'On incrémente le numéro de la facture
    Range("J1").Value = Range("J1").Value + 1
 
    'on efface le contenu de la facture
    Range("J43").ClearContents
    Range("A15:E39,G15:G39").ClearContents
    Range("J38").Select
    Selection.AutoFill Destination:=Range("J15:J38"), Type:=xlFillDefault
    Range("J15:J38").Select
 
    Range("H6").Select
 
 
End Sub
Mille merci par avance pour votre aide et vos conseils.