macro pour email qui bug

  • Initiateur de la discussion Initiateur de la discussion bpol
  • 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 !

bpol

XLDnaute Impliqué
bonsoir,
afin de terminer mon fichier j'ai essayé de créer une macro qui envoit ce fichier mais sous condition

je l'ai placée dans :
This workbook
général
déclaration

If Range(“A11”) > 0 then

ActiveWorkbook .SendMail Recipients:=ActiveSheet.Range("B1").Value,

End With
End If
Range("A8:E50").Select
Selection.ClearContents

mais

ActiveWorkbook .SendMail Recipients:=ActiveSheet.Range("B1").Value,
se met en rouge


Merci


Bpol
 
Re : macro pour email qui bug

Bonsoir bpol,

un fichier simplifié aurait été le bienvenu pour pouvoir te répondre.

Si tu as mis ce code dans une procédure Workbook_SheetChange je pense qu'il faut remplacer Activesheet par Sh car la déclaration de cette procédure est ByVal Sh As Object, ByVal Target As Range (Sh désignant le feuillet)

Dans l'attente de tes précisions

Edit : chez moi cette instruction fonctionne :

Code:
ActiveWorkbook.SendMail Recipients:=ActiveSheet.Range("B1").Value

ton code est bizarre, il y a un End With dans le If ...End If mais il n'y a pas de With...
A+
 
Dernière édition:
Re : macro pour email qui bug

bonjour ledzepfred,

ce que je souhaitais faire c'est que quand la la ligne ou la cellule A11 est remplie que la macro envoit automatiquement le fichier par email à l'adresse située en B1 et qu'en suite que la plage A8:E11 s'efface.

les données sont envoyées d'un autre fichier par macro.

Merci

Bpol
 

Pièces jointes

Dernière édition:
Re : macro pour email qui bug

Hello Led, Bpol,

Apparemment comme ceci ça devrait jouer...

A PLACER DANS LE CODE DE LA FEUILLE !
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    On Error Resume Next
    
    If Range("A11") <> "" Then ' Si different de rien
        ActiveWorkbook.SendMail Recipients:=ActiveSheet.Range("B1").Value
            Range("A8:E50").Select
        Selection.ClearContents
    Else
        Exit Sub
    End If

End Sub
Attention : Si la macro est déclenchée (à chaque changement de A11) et que tu cliques "Non" sur le message d'Outlook, il efface tout de même la plage A8:E50 !

J'anticipe l'eventuelle question... Si tu veux savoir si tu peux éviter le message Outlook -> Pas possible je crois... A moins qu'un pro... mais jamais vu sans.

Cdt, Hulk.
 
Re : macro pour email qui bug

Bonjour, salut hulk 🙂
ce que je souhaitais faire c'est que quand la la ligne ou la cellule A11 est remplie ...
Une ligne et une cellule, ce n'est pas la même chose !
- si c'est la cellule A11, est ce bien celle-là puisque dans ton exemple il y a aussi une cellule A12 ?!
- et du coup comme tu souhaites n'effacer que A8:E11, j'en conclue que tu insères des lignes avant A12 et que jamais tu n'effaces ette ligne ?!
- une ligne entière contient (xl2000) 256 cellules; faut-il attendre qu'elles soient toutes remplies ?!
A+
kjin
 
- 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
818
Réponses
3
Affichages
1 K
V
Réponses
1
Affichages
2 K
gig83500
G
S
Réponses
13
Affichages
2 K
Stedemart
S
L
Réponses
1
Affichages
733
Lucie61
L
S
Réponses
0
Affichages
772
S
Retour