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 !