Bonjour,
je vous écris car après de nombreuses recherches je n'arrive pas à créer la macro parfaite pour mon tableau.
Voilà mon problème: j'ai un classeur avec une quinzaine de feuilles, chaque feuille correspond à un client, sur chaque feuille le planning de l'année, où chaque mois est un tableau de 13 colonnes sur 43 lignes, jusque là tout va bien !
A chaque fin de mois je dois envoyer la sélection de cellules à chaque client. Jusqu'à présent je les imprimais mais j'aimerai mieux les envoyer par mail. Alors bien sûr je peux copier ma sélection dans un nouveau classeur et envoyer celui ci par mail mais, une petite macro serait quand même plus sympa !
alors en cherchant sur votre forum j'ai réussit à en faire une qui m’envoie la sélection que je lui demande, de la feuille active, sauf que ma mise en page de mon tableau initial est inexistante ! notamment les cellules fusionnées...
voici ma macro actuelle:
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 Sub Envois_récap() Dim iMsg As Object, iConf As Object, Flds As Object Dim strHTML As String Dim i As Byte, j As Byte Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields strHTML = "" strHTML = strHTML & "<HEAD>" strHTML = strHTML & "<BODY>" strHTML = strHTML & "Bonjour, <BR><BR>vous trouverez ci joint le récap du mois.<BR><BR>" strHTML = strHTML & "<TABLE BORDER>" For i = 1 To 43 strHTML = strHTML & "<TR halign='middle'nowrap>" For j = 1 To 13 'nombre de colonnes strHTML = strHTML & "<TD align='center'><FONT COLOR='black'SIZE=3>" _ & Cells(i, j) & "</FONT></TD>" Next j strHTML = strHTML & "</TR>" Next i strHTML = strHTML & "</TABLE>" strHTML = strHTML & "<BR><BR>Cordialement." strHTML = strHTML & "</BODY>" strHTML = strHTML & "" With Flds .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.orange.fr" .Update End With With iMsg Set .Configuration = iConf .To = "moi@hotmail.fr" .From = "toi@hotmail.fr" .Subject = "test récap" .HTMLBody = strHTML .Send End With End Sub
je suis prête à modifier ou a changer totalement de macro...
Merci pour votre aide !
Partager