- Convertir plage cellule en image pour courriel
- Convertir youtube en mp3 avec audacity - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Image iso - Guide
1 réponse
10 avril 2024 à 15:53
Bonjour,
Pour convertir une plage de cellules en image dans Excel VBA, vous pouvez utiliser la méthode ExportAsFixedFormat pour exporter la plage sélectionnée en tant que fichier image. Voici comment vous pouvez le faire dans votre code :
Sub EnvoyerEmail()
Dim réponse As Integer
réponse = MsgBox("Est-ce que votre application Outlook est ouverte?", vbYesNo, "Attention!")
If réponse = vbNo Then
MsgBox ("Vous devez ouvrir votre application pour continuer")
Exit Sub
End If
Dim oOutlook As Object
Set oOutlook = CreateObject("Outlook.Application")
Dim oMail As Object
Set oMail = oOutlook.CreateItem(0)
With oMail
Dim oObjetword As Object
Set oObjetword = .GetInspector.WordEditor
.To = ""
.Subject = "Voici votre HORAIRE 2024-2025 : " & Range("B6").Value & " - " & Range("C6")
.Body = ""
' Exporter la plage de cellules en tant qu'image
ActiveSheet.Range("A1:O12").ExportAsFixedFormat Type:=xlTypePicture, Filename:="C:\Temp\Plage_Cellules.png", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
' Insérer l'image dans le courriel
oObjetword.InlineShapes.AddPicture "C:\Temp\Plage_Cellules.png", LinkToFile:=False, SaveWithDocument:=True
' Afficher le courriel
.Display
End With
Application.CutCopyMode = False
Range("D6").Select
End Sub
Dans ce code, la plage de cellules sélectionnée est exportée en tant qu'image au format PNG dans le répertoire C:\Temp\ avec le nom de fichier Plage_Cellules.png. Ensuite, l'image est insérée dans le corps du courriel à l'aide de la méthode InlineShapes.AddPicture. Assurez-vous de spécifier le chemin d'accès correct pour l'exportation de l'image. Une fois le courriel affiché, l'image sera visible dans le corps du courriel.
En espérant vous apporter la solution. Ca devrait fonctionner.
10 avril 2024 à 16:09
Merci beaucoup pour toute ces infos!
J'imagine que c'est impossible de seulement coller l'image dans le courriel sans l'enregistrer ?
10 avril 2024 à 16:16
Si vous souhaitez insérer l'image directement dans le corps du courriel sans enregistrer de fichier image, vous pouvez le faire en copiant la plage de cellules sous forme d'image dans le Presse-papiers, puis en collant cette image dans le corps du courriel. Voici comment vous pouvez le faire :
Sub EnvoyerEmail()
Dim réponse As Integer
réponse = MsgBox("Est-ce que votre application Outlook est ouverte?", vbYesNo, "Attention!")
If réponse = vbNo Then
MsgBox ("Vous devez ouvrir votre application pour continuer")
Exit Sub
End If
Dim oOutlook As Object
Set oOutlook = CreateObject("Outlook.Application")
Dim oMail As Object
Set oMail = oOutlook.CreateItem(0)
With oMail
Dim oObjetword As Object
Set oObjetword = .GetInspector.WordEditor
.To = ""
.Subject = "Voici votre HORAIRE 2024-2025 : " & Range("B6").Value & " - " & Range("C6")
.Body = ""
' Copier la plage de cellules comme une image dans le Presse-papiers
ActiveSheet.Range("A1:O12").CopyPicture Appearance:=xlScreen, Format:=xlPicture
' Coller l'image dans le corps du courriel
oObjetword.Range.Paste
' Afficher le courriel
.Display
End With
Application.CutCopyMode = False
Range("D6").Select
End Sub
Voilà. Pas de souci.
10 avril 2024 à 16:22
Je vous remercie infiniment ! Je peux enfin clore mon projet ! Tout fonctionne à merveille. Je vais garder en note vos explications précieusement.
Bonne journée à vous!
10 avril 2024 à 17:05
Dernière petite question, est-ce qu'il est possible donner à l'image une dimension spécifique ? :)
10 avril 2024 à 21:04
C'est génial!! Je vous remercie beaucoup pour votre précieux temps ainsi que les explications. :)
Bonne fin de journée!