XL 2019 sélection et mise en page avant envoie mail

  • Initiateur de la discussion Initiateur de la discussion julie44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

julie44

XLDnaute Nouveau
bonjour
j' ai modifié un code vba pour mon projet

j'aimerais réussir a ne sélectionner que les lignes remplis de la première colonne(attention pour le moment j'ai retire les formules du tableau mais en prendre en compte
et que la mise en page avant l'envoie par email se termine a la colonne J

dans un second temps si possible:
ajouter une signature sur le bas du mail exemple julie h***** secretaire medicale pole nord
ajouter les lignes M3,M4 et M5 comme texte corp du message avant le tableau

voici mon code actuel
Sub envoyermail()
Dim Mafeuille As Worksheet
Dim NbLigne As Long
Dim Plage As Range
ActiveWorkbook.EnvelopeVisible = True
Set Mafeuille = ThisWorkbook.Sheets("Feuil1")
Application.ScreenUpdating = False
NbLigne = 3267
NbLigne = Mafeuille.Range("A" & Application.Rows.Count).End(xlUp).Row
Set Plage = Range("A1:J" & NbLigne)
With Range("A1:J" & NbLigne).Parent.MailEnvelope.Item
.To = Mafeuille.Range("M1").Value & Mafeuille.Range("M2").Value
.Subject = Mafeuille.Range("L2").Value
.Display
.send
End With
MsgBox "votre mail a été envoyé", vbInformation + vbOKOnly, "confirmation d'envoi"
Range("A4:J34" & NbLigne).ClearContents
Application.ScreenUpdating = True
End Sub

merci pour votre aide les amis
Julie et Marc
 

Pièces jointes

Bonjour Julie, et bienvenue sur XLD,
Pour le premier point, regardez ce fil :
Il ressemble étrangement au votre, y compris dans le code.
La solution pourrait être du genre :
VB:
NbLigne = Mafeuille.Application.CountIf([Tableau1], "><")
Mafeuille.Range("A1:J" & NbLigne + 4).Select
 
bonjour sylvanu
merci d'avoir regarder mon post
est ce que tu l'a teste ce code il ne fonctionne pas chez moi?
j'ai survolé le post que tu as dit
merci
j'essaye encore de regarder
julie

Sub envoyermail()
Dim Mafeuille As Worksheet
Dim NbLigne As Long
Dim Plage As Range
ActiveWorkbook.EnvelopeVisible = True
Set Mafeuille = ThisWorkbook.Sheets("Feuil1")
Application.ScreenUpdating = False
NbLigne = 3267
NbLigne = Mafeuille.Range("A" & Application.Rows.Count).End(xlUp).Row
Set Plage = Range("A1:J" & NbLigne)
With Range("A1:J" & NbLigne).Parent.MailEnvelope.Item
.To = Mafeuille.Range("M1").Value & Mafeuille.Range("M2").Value
.Subject = Mafeuille.Range("L2").Value
.Display
.send
End With
MsgBox "votre mail a été envoyé", vbInformation + vbOKOnly, "confirmation d'envoi"
Range("A4:J34" & NbLigne).ClearContents
Application.ScreenUpdating = True
End Sub

comment les intégrer dans mon code je suis perdue
NbLigne = Mafeuille.Range("A" & Application.Rows.Count).End(xlUp).Row
NbLigne = Mafeuille.Application.CountIf([Tableau1], "><")
 

Pièces jointes

Dernière édition:
Re,
Il faut adapter à votre contexte :
VB:
Sub envoyermail()
Dim Mafeuille As Worksheet, NbLigne%, Plage As Range
NbLigne = Sheets("Feuil1").Application.CountIf([Tableau1[Type Pay/Grat]], "><")
Set Plage = Sheets("Feuil1").Range("A3:J" & NbLigne + 3)
Plage.Select
End Sub
Je rappelle que c'est juste pour le point 1.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
106
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
17
Affichages
2 K
Retour