Lorsqu'une cellule d'une Colonne change

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 !

bloomby

XLDnaute Occasionnel
Cette macro est pour le changement ds la cellule B4

1)Se que je désire dans un premier temps; si la cellule B6 change je veux que la Macro s'active aussi (en fait pour tout changement des valeurs de la colonne B je désire que la macr s'active)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "B4" Then
Call SendMail
End If
End Sub

2)deuxièmement ds ma SendMail ()
j'envoie un email mais je désire que le titre ainsi que l'objet change avec la cellule qui change (Ex: pour B4 le Subject=B4 et Bodv= "Objet: " & [A4] & "et " & [A5]) (Pour B6 je désire que le Subject=B6 et BBodv= "Objet: " & [A6] & "et " & [A7])

Donc conditionnel .... quelqu'un peu m'aider merci

Sub SendMail()


Dim Ol As New Outlook.Application
Dim Olmail As MailItem
Dim CurrFile As String

Set Ol = New Outlook.Application
Set Olmail = Ol.CreateItem(olMailItem)
With Olmail
.To = Range("B1").Value
.Subject = Range("B4").Value
.Body = "Objet: " & [A4] & "et " & [A5]
' .Attachments.Add "c:\data\essai.doc"
.Send

End With
End Sub
 
Re : Lorsqu'une cellule d'une Colonne change

Hello,

le plus sumple est de tout gérer en évenementiel. Sinon j'ai modifier le sendmail pour éviter de devoir cocher la ref outlook:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then

Dim ol As Object
Dim olmail As Object
Dim CurrFile As Object
Set ol = CreateObject("Outlook.Application")
Set olmail = ol.CreateItem(0)

With olmail
.To = Range("B1").Value
.Subject = Target.Value
.Body = "Objet: " & Target.Offset(0, -1).Value & "et " & Target.Offset(1, -1).Value
' .Attachments.Add "c:\data\essai.doc"
.send
End With
End If
End Sub

Dis moi si çà te convient ?

@ +

Juju
 
Re : Lorsqu'une cellule d'une Colonne change

Wow, Rapide c'est super
le seul petit problème c'est que ds ma collone B c'est des valeur qui change selon des formules donc lorsque je change la cellule moi même sa marche mais lorsque cela est fait par la formule ca ne marche pas

mais pour le reste c'est parfait un gros merci
 
Re : Lorsqu'une cellule d'une Colonne change

Exact. Par contre on peut imaginer d'autres solutions : bouton, ou evenementiel sur les cellules qui sont dans tes formules ou evenmentiel sur selection_change (c'est à dire sur clic et non sur validation)
@ toi de voir
 
Re : Lorsqu'une cellule d'une Colonne change

J'avais trouvé ca ! mais la est ce que je peu le modifier ou je dois chercher une nouvelle solution

Merci

Private Sub Worksheet_Calculate()
If Range("B4").Value = valcel Then Else SendMail
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$4" Then
SendMail
Else
valcel = Range("B4").Value
End If
End Sub
 
Re : Lorsqu'une cellule d'une Colonne change

Hello,

A tester. Essaie d'utiliser Private Sub Worksheet_Calculate() au lieu de Private Sub Worksheet_Change(ByVal Target As Range). tout le reste étant identique.
J'aurai plutot ssayer avec selection_change perso. A tester en fonction de ton besoin

Bonne soirée
 
- 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
3
Affichages
923
Réponses
17
Affichages
2 K
Retour