Bonjour,
J'ai un soucis. Je suis en train d'écrire une macro qui doit ajouter des pièces jointes .PDF dans un mail. Il faut donc que la ou les pièces soient trouvés facilement.
Ma difficulté réside dans le fait que le numéro de facture dans mon tableau, que je peux mettre à jour chaque fois et dans lequel je sélectionne les compagnies auxquels je dois envoyer un mail, est différent de celui sur le serveur.
exemple.
dans mon tableau je peux avoir ceci: Facture 12.13.145.1265 et sur le serveur c'est plutôt Facture 12 13 145 1265 (sans les points). ou encore
dans le tableau: Facture FA15121785 et sur le serveur Facture 15121785.
Je ne sais pas comment gérer ça avec VBA.
J'essaie de chercher sur les forums, mais je ne trouve rien pour le moment. Si vous avez des pistes ca serait cool.
Je vous donne le bout de code sur lequel je travaille
Merci
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 '-----------------Pièces jointes------------------------------------------------------------------------------------------------------ p = UD.Cells(Rows.Count, "E").End(xlUp).Row - 2 For l = 2 To p fichierpdf = UD.Range("e" & l).Value Set fso = CreateObject("Scripting.FileSystemObject") Set dossier = fso.GetFolder("S:\bbbbbbb\ACTIVITY\CLIENTS\") z = dossier.SubFolders.Count nomdossier = UCase(UD.Range("A2").Value) Worksheets("Recipients CC").Range("G:K").Clear Set dossiercompany = fso.GetFolder("S:\bbbbbbb\ACTIVITY\CLIENTS\" & nomdossier & "\" & UCase("Invoicing")) Debug.Print dossiercompany ' MsgBox nomdossier For Each sousdossiercompany In dossiercompany.SubFolders m = sousdossiercompany.Name lngrow = lngrow + 1 If IsNumeric(m) And m <> "Trams" Then Worksheets("Recipients CC").Range("G" & lngrow).Value = CInt(m) End If Next sousdossiercompany derlng = Worksheets("Recipients CC").Cells(Rows.Count, "G").End(xlUp).Row If Worksheets("Recipients CC").Range("G" & derlng).Value > Worksheets("Recipients CC").Range("G" & derlng - 1).Value Then ssdossier = CStr(Worksheets("Recipients CC").Range("G" & derlng).Value) End If Dim mesfichiers, t() chemin = dossiercompany & "\" & ssdossier ' racine pour la recherche Debug.Print chemin exT = ".pdf" ' extention de fichiers recherchés argmt1 = fichierpdf ' partie du nom de fichiers recherchés mesfichiers = cherche(chemin, exT, argmt1) ' ||mesfichiers|| deviendra un tableau de nom de fichiers selon les condition précédemment énumérée If UBound(mesfichiers) > 0 Then 'MsgBox Join(mesfichiers, vbCrLf) i = i + 1 UD.Range("M" & i).Value = mesfichiers End If Next l PieceJointe = PieceJointe For u = 2 To UD.Range("M65536").End(xlUp).Row - 1 PieceJointe = PieceJointe & "; " & UD.Range("M" & u).Value Debug.Print PieceJointe Next
Partager