Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Code VBA Envoi contenu tableau Excel par Email

AzakGoun

XLDnaute Nouveau
Bonjour,
Après de longues recherches, je suis arrivé à ce code qui extrait les données de l'onglet WS1 et les colle dans l'onglet WS3 en fonction d'un critère. Ces données extraites seront collées ensuite dans un Email à envoyer. Le problème se situe au niveau du texte qui ne s'insère pas avant le tableau.
Merci pour votre aide.

Sub ExtraireLignes()
Dim ws1, ws2, ws3 As Worksheet
Dim lastRow1, lastRow2, lastRow3 As Long
Dim filterValue As Variant ' Définir comme Variant
Dim i, j As Long
Dim a As Long ' Utiliser Long plutôt que Integer

Set ws1 = ThisWorkbook.Sheets("Base")
Set ws2 = ThisWorkbook.Sheets("Liste")
Set ws3 = ThisWorkbook.Sheets("Données")

lastRow1 = ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row
lastRow2 = ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row
lastRow3 = ws3.Cells(ws3.Rows.Count, "A").End(xlUp).Row

a = 1

Do Until a = lastRow2
filterValue = ws2.Range("A" & a).Value
For i = 1 To lastRow1 + 1
If ws1.Cells(i, "C").Value = filterValue Then
j = ws3.Cells(ws3.Rows.Count, "A").End(xlUp).Row + 1
ws1.Rows(i).Copy Destination:=ws3.Rows(j)
End If
Next i
a = a + 1 ' Incrémentation de la variable de boucle
ws3.Select
MsgBox ("Continuer")
Call envoi_mail
ws3.Rows("2:" & ws3.Rows.Count).ClearContents
ws3.Rows("2:" & ws3.Rows.Count).ClearFormats
Loop
End Sub
 

Discussions similaires

Réponses
11
Affichages
320
Réponses
2
Affichages
280
Réponses
3
Affichages
113
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…