Bonjour le forum,
J'ai une macro qui va récupérer les noms de fichiers dans un dossier, les noms des fichiers vont servir à remplir le champ destinataire de outlook.
Je suis arrivé à mon objectif mais je suis obligé de noter les noms sur la feuille excel et aprés boucler sur les cellules contenant les noms des fichiers pour remplir le champs destinataire d'un email outlook.
Ce que je souhaite c'est sauter l’étape écriture des adresses sur la feuille et passer directement par des variables.
Voici le code.
Après je sais pas si cela est possible mais ça serait une solution bien élégante pour rendre efficace ma macro
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 Sub ecriture_destinataire_surfeuille() Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim i As Integer 'Create an instance of the FileSystemObject Set objFSO = CreateObject("Scripting.FileSystemObject") 'Get the folder object Set objFolder = objFSO.GetFolder("C:\Tampon\") i = 1 'loops through each file in the directory and prints their names and path For Each objFile In objFolder.Files 'print file name Cells(i + 1, 1) = Left(objFile.Name, 9) i = i + 1 Next objFile End Sub '------------------------------------------------------------------------------------------------------------------------------------------------ Sub remplir_destinataire 'on va écrire sur la feuil1 en A2:A10 les noms des fichiers qui vont servir de destinataire outlook' Call ecriture_destinataire_surfeuille Set emailRng = Worksheets("Feuil1").Range("A2:A10") For Each cl In emailRng sTo = sTo & ";" & cl.Value Next With MailOutLook .BodyFormat = olFormatRichText .To = sTo 'je souhaite que les valeurs des destinataires soient directement en variable et non pas ecrit dans une range sur la feuil1' 'etc..' end sub
Partager