Envoi de mail lotus notes ien boucle via condition sous excel
Fermé
LGGUESS
Messages postés
8
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
29 juillet 2015
-
27 juil. 2015 à 17:18
f894009 Messages postés 17212 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 décembre 2024 - 29 juil. 2015 à 17:22
f894009 Messages postés 17212 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 24 décembre 2024 - 29 juil. 2015 à 17:22
A voir également:
- Envoi de mail lotus notes ien boucle via condition sous excel
- Excel cellule couleur si condition texte - Guide
- Yahoo mail - Accueil - Mail
- Liste déroulante excel - Guide
- Si et excel - Guide
- Programmer envoi mail gmail - Guide
3 réponses
f894009
Messages postés
17212
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 décembre 2024
1 711
28 juil. 2015 à 15:37
28 juil. 2015 à 15:37
Bonjour,
a tester en adaptant les colonnes
a tester en adaptant les colonnes
Sub Bouton416_Cliquer() Dim Session As Object Dim Dir As Object Dim Doc As Object Dim Workspace As Object Dim EditDoc As Object Dim LeTexte1 As String Dim LeTexte2 As String Dim LeTexteRelance As String Dim resp As String Dim nblignes As Integer nblignes = Sheets("INVENTAIRE").Range("D2").End(xlDown).Row 'ensuite il suffit de faire une boucle pour traiter les lignes LeTexte1 = "Bonjour," & vbCrLf & vbCrLf & "Nous vous remercions de bien vouloir nous communiquer les valorisations à fin de mois des valeurs jointes." _ & vbCrLf & vbCrLf & "L'information est à nous restituer à l'adresse DINAN GS REFERENTIEL VALEURS@bnpparibas.com:" _ & vbCrLf & vbCrLf & "Nous restons à votre disposition." & vbCrLf For i = 2 To nblignes With Sheets("INVENTAIRE") If .Cells(i, "E").Value = "à revoir" Then LeTexte2 = .Cells(i, 1).Value & Space(15) & .Cells(i, 2).Value Set Workspace = CreateObject("Notes.NotesUIWorkspace") Set Session = CreateObject("notes.NOTESSESSION") Set Dir = Session.GETDATABASE("", "") Call Dir.OPENMAIL Set Doc = Dir.CREATEDOCUMENT Doc.form = "Memo" Doc.Subject = "Demande" Doc.SendTo = .Cells(i, 5).Value Doc.CopyTo = "Loic.guessant@bnpparibas.com" Doc.Body = LeTexte1 & vbCrLf & LeTexte2 & vbCrLf & vbCrLf & vbCrLf & "Cordialement." Doc.SaveMessageOnSend = True Call Doc.Send(False) Set Session = Nothing MsgBox "Email sent.", vbOKOnly + vbInformation Set Db = Nothing Set Doc = Nothing Set Workspace = Nothing Set EditDoc = Nothing End If Next i End Sub
f894009
Messages postés
17212
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 décembre 2024
1 711
29 juil. 2015 à 09:54
29 juil. 2015 à 09:54
Bonjour,
adaptez les colonnes au besoin:
adaptez les colonnes au besoin:
Sub Bouton416_Cliquer() Dim Session As Object Dim Dir As Object Dim Doc As Object Dim Workspace As Object Dim EditDoc As Object Dim LeTexte1 As String Dim LeTexte2 As String Dim LeTexteRelance As String Dim resp As String Dim nblignes As Integer Dim Dico_Adr As Object Dim PlageD, i, x, TMP, nb, Adr, lig 'ensuite il suffit de faire une boucle pour traiter les lignes LeTexte1 = "Bonjour," & vbCrLf & vbCrLf & "Nous vous remercions de bien vouloir nous communiquer les valorisations à fin de mois des valeurs jointes." _ & vbCrLf & vbCrLf & "L'information est à nous restituer à l'adresse DINAN GS REFERENTIEL VALEURS@bnpparibas.com:" _ & vbCrLf & vbCrLf & "Nous restons à votre disposition." & vbCrLf 'Numero unique pour numero de fichier CSV Set Dico_Adr = CreateObject("Scripting.Dictionary") With Sheets("INVENTAIRE") nblignes = Sheets("INVENTAIRE").Range("D2").End(xlDown).Row Set PlageD = .Range("D2:D" & nblignes) 'boucle sur colonne C For i = 1 To PlageD.Count Dico_Adr(PlageD(i, 1)) = "" Next i 'transfert adresses en tableau TMP = Dico_Adr.Keys 'Table sans doublon For i = 0 To UBound(TMP) If TMP(i) <> Empty Then Adr = TMP(i): LeTexte2 = "" nb = Application.CountIf(PlageD, Adr) If nb > 0 Then If nb > 1 Then NL = vbNewLine Else NL = "" For x = 1 To nb lig = 1 lig = .Columns(4).Find(Adr, .Cells(lig, 4), , xlWhole).Row If .Cells(lig, "E").Value = "à revoir" Then LeTexte2 = LeTexte2 & .Cells(lig, 1).Value & Space(15) & .Cells(lig, 2).Value & NL End If Set Workspace = CreateObject("Notes.NotesUIWorkspace") Set Session = CreateObject("notes.NOTESSESSION") Set Dir = Session.GETDATABASE("", "") Call Dir.OPENMAIL Set Doc = Dir.CREATEDOCUMENT Doc.form = "Memo" Doc.Subject = "Demande" Doc.SendTo = Adr Doc.CopyTo = "Loic.guessant@bnpparibas.com" Doc.Body = LeTexte1 & vbCrLf & LeTexte2 & vbCrLf & vbCrLf & vbCrLf & "Cordialement." Doc.SaveMessageOnSend = True Call Doc.Send(False) Set Session = Nothing MsgBox "Email sent.", vbOKOnly + vbInformation Set Db = Nothing Set Doc = Nothing Set Workspace = Nothing Set EditDoc = Nothing End If End If Next i End With End Sub
LGGUESS
Messages postés
8
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
29 juillet 2015
29 juil. 2015 à 10:31
29 juil. 2015 à 10:31
Bonjour,
Merci pour la réponse
J'ai un souci "erreur de compilation" : End if sans bloc If
Merci pour la réponse
J'ai un souci "erreur de compilation" : End if sans bloc If
f894009
Messages postés
17212
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 décembre 2024
1 711
>
LGGUESS
Messages postés
8
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
29 juillet 2015
29 juil. 2015 à 11:57
29 juil. 2015 à 11:57
Re,
comme je n'ai pas lotus, j'ai merdu en enlevant les lignes que j'avais mis pour tester
comme je n'ai pas lotus, j'ai merdu en enlevant les lignes que j'avais mis pour tester
Sub Bouton416_Cliquer() Dim Session As Object Dim Dir As Object Dim Doc As Object Dim Workspace As Object Dim EditDoc As Object Dim LeTexte1 As String Dim LeTexte2 As String Dim LeTexteRelance As String Dim resp As String Dim nblignes As Integer Dim Dico_Adr As Object Dim PlageD, i, x, TMP, nb, Adr, lig 'ensuite il suffit de faire une boucle pour traiter les lignes LeTexte1 = "Bonjour," & vbCrLf & vbCrLf & "Nous vous remercions de bien vouloir nous communiquer les valorisations à fin de mois des valeurs jointes." _ & vbCrLf & vbCrLf & "L'information est à nous restituer à l'adresse DINAN GS REFERENTIEL VALEURS@bnpparibas.com:" _ & vbCrLf & vbCrLf & "Nous restons à votre disposition." & vbCrLf 'Numero unique pour numero de fichier CSV Set Dico_Adr = CreateObject("Scripting.Dictionary") With Sheets("INVENTAIRE") nblignes = Sheets("INVENTAIRE").Range("D2").End(xlDown).Row Set PlageD = .Range("D2:D" & nblignes) 'boucle sur colonne C For i = 1 To PlageD.Count Dico_Adr(PlageD(i, 1)) = "" Next i 'transfert adresses en tableau TMP = Dico_Adr.Keys 'Table sans doublon For i = 0 To UBound(TMP) If TMP(i) <> Empty Then Adr = TMP(i): LeTexte2 = "" nb = Application.CountIf(PlageD, Adr) If nb > 0 Then If nb > 1 Then NL = vbNewLine Else NL = "" For x = 1 To nb lig = 1 lig = .Columns(4).Find(Adr, .Cells(lig, 4), , xlWhole).Row If .Cells(lig, "E").Value = "à revoir" Then LeTexte2 = LeTexte2 & .Cells(lig, 1).Value & Space(15) & .Cells(lig, 2).Value & NL End If Set Workspace = CreateObject("Notes.NotesUIWorkspace") Set Session = CreateObject("notes.NOTESSESSION") Set Dir = Session.GETDATABASE("", "") Call Dir.OPENMAIL Set Doc = Dir.CREATEDOCUMENT Doc.form = "Memo" Doc.Subject = "Demande" Doc.SendTo = Adr Doc.CopyTo = "Loic.guessant@bnpparibas.com" Doc.Body = LeTexte1 & vbCrLf & LeTexte2 & vbCrLf & vbCrLf & vbCrLf & "Cordialement." Doc.SaveMessageOnSend = True Call Doc.Send(False) Set Session = Nothing MsgBox "Email sent.", vbOKOnly + vbInformation Set Db = Nothing Set Doc = Nothing Set Workspace = Nothing Set EditDoc = Nothing Next i End If End If End With End Sub
LGGUESS
Messages postés
8
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
29 juillet 2015
29 juil. 2015 à 12:22
29 juil. 2015 à 12:22
Encore merci
mais j'ai un nouveau bug
erreur de compilation
référence de variable de contrôle incorrecte dans Next
mais j'ai un nouveau bug
erreur de compilation
référence de variable de contrôle incorrecte dans Next
f894009
Messages postés
17212
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 décembre 2024
1 711
>
LGGUESS
Messages postés
8
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
29 juillet 2015
29 juil. 2015 à 12:29
29 juil. 2015 à 12:29
Re,
Sub Bouton416_Cliquer() Dim Session As Object Dim Dir As Object Dim Doc As Object Dim Workspace As Object Dim EditDoc As Object Dim LeTexte1 As String Dim LeTexte2 As String Dim LeTexteRelance As String Dim resp As String Dim nblignes As Integer Dim Dico_Adr As Object Dim PlageD, i, x, TMP, nb, Adr, lig 'ensuite il suffit de faire une boucle pour traiter les lignes LeTexte1 = "Bonjour," & vbCrLf & vbCrLf & "Nous vous remercions de bien vouloir nous communiquer les valorisations à fin de mois des valeurs jointes." _ & vbCrLf & vbCrLf & "L'information est à nous restituer à l'adresse DINAN GS REFERENTIEL VALEURS@bnpparibas.com:" _ & vbCrLf & vbCrLf & "Nous restons à votre disposition." & vbCrLf 'Numero unique pour numero de fichier CSV Set Dico_Adr = CreateObject("Scripting.Dictionary") With Sheets("INVENTAIRE") nblignes = Sheets("INVENTAIRE").Range("D2").End(xlDown).Row Set PlageD = .Range("D2:D" & nblignes) 'boucle sur colonne C For i = 1 To PlageD.Count Dico_Adr(PlageD(i, 1)) = "" Next i 'transfert adresses en tableau TMP = Dico_Adr.Keys 'Table sans doublon For i = 0 To UBound(TMP) If TMP(i) <> Empty Then Adr = TMP(i): LeTexte2 = "" nb = Application.CountIf(PlageD, Adr) If nb > 0 Then If nb > 1 Then NL = vbNewLine Else NL = "" For x = 1 To nb lig = 1 lig = .Columns(4).Find(Adr, .Cells(lig, 4), , xlWhole).Row If .Cells(lig, "E").Value = "à revoir" Then LeTexte2 = LeTexte2 & .Cells(lig, 1).Value & Space(15) & .Cells(lig, 2).Value & NL End If Next x Set Workspace = CreateObject("Notes.NotesUIWorkspace") Set Session = CreateObject("notes.NOTESSESSION") Set Dir = Session.GETDATABASE("", "") Call Dir.OPENMAIL Set Doc = Dir.CREATEDOCUMENT Doc.form = "Memo" Doc.Subject = "Demande" Doc.SendTo = Adr Doc.CopyTo = "Loic.guessant@bnpparibas.com" Doc.Body = LeTexte1 & vbCrLf & LeTexte2 & vbCrLf & vbCrLf & vbCrLf & "Cordialement." Doc.SaveMessageOnSend = True Call Doc.Send(False) Set Session = Nothing MsgBox "Email sent.", vbOKOnly + vbInformation Set Db = Nothing Set Doc = Nothing Set Workspace = Nothing Set EditDoc = Nothing End If End If Next i End With End Sub
LGGUESS
Messages postés
8
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
29 juillet 2015
29 juil. 2015 à 14:22
29 juil. 2015 à 14:22
Bonjour,
cette version n'est pas ok par rapport à la précédente
voici le code qui permet d'adresser n mails qui fonctionne
Sub Bouton416_Cliquer()
Dim Session As Object
Dim Dir As Object
Dim Doc As Object
Dim Workspace As Object
Dim EditDoc As Object
Dim LeTexte1 As String
Dim LeTexte2 As String
Dim LeTexteRelance As String
Dim resp As String
Dim nblignes As Integer
nblignes = Sheets("INVENTAIRE").Range("Q2").End(xlDown).Row
'ensuite il suffit de faire une boucle pour traiter les lignes
LeTexte1 = "Bonjour," & vbCrLf & vbCrLf & "Nous vous remercions de bien vouloir nous communiquer les valorisations fin de mois des valeurs jointes." _
& vbCrLf & vbCrLf & "L'information est à nous restituer par mail à l'adresse DINAN GS REFERENTIEL VALEURS@bnpparibas.com" _
& vbCrLf & vbCrLf & "Nous vous en remercions et restons à votre disposition." & vbCrLf
For i = 2 To nblignes
With Sheets("INVENTAIRE")
If .Cells(i, "Q").Value = "à revoir" And Cells(i, "P").Value = "mail" And Cells(i, "N").Value <> "Demande NF" Then
LeTexte2 = .Cells(i, 1).Value & Space(15) & .Cells(i, 2).Value
Set Workspace = CreateObject("Notes.NotesUIWorkspace")
Set Session = CreateObject("notes.NOTESSESSION")
Set Dir = Session.GETDATABASE("", "")
Call Dir.OPENMAIL
Set Doc = Dir.CREATEDOCUMENT
Doc.form = "Memo"
Doc.Subject = "Demande de valorisation fin de mois"
Doc.SendTo = .Cells(i, 5).Value
Doc.CopyTo = "Loic.guessant@bnpparibas.com"
Doc.Body = LeTexte1 & vbCrLf & LeTexte2 & vbCrLf & vbCrLf & vbCrLf & "Cordialement."
Doc.SaveMessageOnSend = True
Call Doc.Send(False)
Set Session = Nothing
'MsgBox "Email sent.", vbOKOnly + vbInformation
Set Db = Nothing
Set Doc = Nothing
Set Workspace = Nothing
Set EditDoc = Nothing
Cells(i, 14).Value = "Demande NF"
End If
End With
Next i
End Sub
il manque juste le fait de regrouper les codes + libellés par adresse email pour ne faire qu'un envoi unique par adresse email
CODES VALEURS Adresses Contacts adresse Revoir
QS0003417027GENEHABITAT 3Loic.guessant@bnpparibas.com mail OK
FR0011043314PACHA A1 FCPR alain.l.lucas@bnpparibas.com OK
FR0011043322PACHA A2 FCPR alain.l.lucas@bnpparibas.com OK
FR0010086595SIMIANE "D"Loic.guessant@bnpparibas.com mail à revoir
FR0010086603SIMIANE "C"corinne.gautier@bnpparibas.com mail à revoir
FR0010709493ELITE LAS FCP Loic.guessant@bnpparibas.com mail à revoir
FR0010510834FIP Loic.guessant@bnpparibas.com OK
FR0010590935FIP alain.l.lucas@bnpparibas.com OK
FR0010672261GENCAP Loic.guessant@bnpparibas.com mail à revoir
FR0010713958GENC AVENIR A alain.l.lucas@bnpparibas.com mail à revoir
FR0010788984GENCAP PRIO A corinne.gautier@bnpparibas.com mail à revoir
cette version n'est pas ok par rapport à la précédente
voici le code qui permet d'adresser n mails qui fonctionne
Sub Bouton416_Cliquer()
Dim Session As Object
Dim Dir As Object
Dim Doc As Object
Dim Workspace As Object
Dim EditDoc As Object
Dim LeTexte1 As String
Dim LeTexte2 As String
Dim LeTexteRelance As String
Dim resp As String
Dim nblignes As Integer
nblignes = Sheets("INVENTAIRE").Range("Q2").End(xlDown).Row
'ensuite il suffit de faire une boucle pour traiter les lignes
LeTexte1 = "Bonjour," & vbCrLf & vbCrLf & "Nous vous remercions de bien vouloir nous communiquer les valorisations fin de mois des valeurs jointes." _
& vbCrLf & vbCrLf & "L'information est à nous restituer par mail à l'adresse DINAN GS REFERENTIEL VALEURS@bnpparibas.com" _
& vbCrLf & vbCrLf & "Nous vous en remercions et restons à votre disposition." & vbCrLf
For i = 2 To nblignes
With Sheets("INVENTAIRE")
If .Cells(i, "Q").Value = "à revoir" And Cells(i, "P").Value = "mail" And Cells(i, "N").Value <> "Demande NF" Then
LeTexte2 = .Cells(i, 1).Value & Space(15) & .Cells(i, 2).Value
Set Workspace = CreateObject("Notes.NotesUIWorkspace")
Set Session = CreateObject("notes.NOTESSESSION")
Set Dir = Session.GETDATABASE("", "")
Call Dir.OPENMAIL
Set Doc = Dir.CREATEDOCUMENT
Doc.form = "Memo"
Doc.Subject = "Demande de valorisation fin de mois"
Doc.SendTo = .Cells(i, 5).Value
Doc.CopyTo = "Loic.guessant@bnpparibas.com"
Doc.Body = LeTexte1 & vbCrLf & LeTexte2 & vbCrLf & vbCrLf & vbCrLf & "Cordialement."
Doc.SaveMessageOnSend = True
Call Doc.Send(False)
Set Session = Nothing
'MsgBox "Email sent.", vbOKOnly + vbInformation
Set Db = Nothing
Set Doc = Nothing
Set Workspace = Nothing
Set EditDoc = Nothing
Cells(i, 14).Value = "Demande NF"
End If
End With
Next i
End Sub
il manque juste le fait de regrouper les codes + libellés par adresse email pour ne faire qu'un envoi unique par adresse email
CODES VALEURS Adresses Contacts adresse Revoir
QS0003417027GENEHABITAT 3Loic.guessant@bnpparibas.com mail OK
FR0011043314PACHA A1 FCPR alain.l.lucas@bnpparibas.com OK
FR0011043322PACHA A2 FCPR alain.l.lucas@bnpparibas.com OK
FR0010086595SIMIANE "D"Loic.guessant@bnpparibas.com mail à revoir
FR0010086603SIMIANE "C"corinne.gautier@bnpparibas.com mail à revoir
FR0010709493ELITE LAS FCP Loic.guessant@bnpparibas.com mail à revoir
FR0010510834FIP Loic.guessant@bnpparibas.com OK
FR0010590935FIP alain.l.lucas@bnpparibas.com OK
FR0010672261GENCAP Loic.guessant@bnpparibas.com mail à revoir
FR0010713958GENC AVENIR A alain.l.lucas@bnpparibas.com mail à revoir
FR0010788984GENCAP PRIO A corinne.gautier@bnpparibas.com mail à revoir
f894009
Messages postés
17212
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 décembre 2024
1 711
29 juil. 2015 à 17:22
29 juil. 2015 à 17:22
Re,
pas decide a faire ou vous ne connaissez pas ?????
allez, essayez ca:
pas decide a faire ou vous ne connaissez pas ?????
allez, essayez ca:
Sub Bouton416_Cliquer() Dim Session As Object Dim Dir As Object Dim Doc As Object Dim Workspace As Object Dim EditDoc As Object Dim LeTexte1 As String Dim LeTexte2 As String Dim LeTexteRelance As String Dim resp As String Dim nblignes As Integer Dim Dico_Adr As Object Dim PlageD, i, x, TMP, nb, Adr, lig 'ensuite il suffit de faire une boucle pour traiter les lignes LeTexte1 = "Bonjour," & vbCrLf & vbCrLf & "Nous vous remercions de bien vouloir nous communiquer les valorisations à fin de mois des valeurs jointes." _ & vbCrLf & vbCrLf & "L'information est à nous restituer à l'adresse DINAN GS REFERENTIEL VALEURS@bnpparibas.com:" _ & vbCrLf & vbCrLf & "Nous restons à votre disposition." & vbCrLf 'Numero unique pour numero de fichier CSV Set Dico_Adr = CreateObject("Scripting.Dictionary") With Sheets("INVENTAIRE") nblignes = Sheets("INVENTAIRE").Range("E2").End(xlDown).Row Set PlageD = .Range("E2:E" & nblignes) 'boucle sur colonne C pour liste des adresses sans doublon For i = 1 To PlageD.Count Dico_Adr(PlageD(i, 1)) = "" Next i 'transfert adresses en tableau TMP = Dico_Adr.Keys 'Table sans doublon 'boucle sur liste adresses For i = 0 To UBound(TMP) If TMP(i) <> Empty Then 'adresse non vide Adr = TMP(i): LeTexte2 = "" 'recherche combien de fois la meme adresse nb = Application.CountIf(PlageD, Adr) If nb > 0 Then 'si plus d'une fois meme adresse: If nb > 1 Then NL = vbNewLine Else NL = "" 'boucle recherche position meme adresse pour regroupement Infos For x = 1 To nb lig = 1: lig = .Columns(5).Find(Adr, .Cells(lig, 5), , xlWhole).Row If .Cells(lig, "Q").Value = "à revoir" And Cells(lig, "P").Value = "mail" And Cells(lig, "N").Value <> "Demande NF" Then LeTexte2 = LeTexte2 & .Cells(lig, 1).Value & Space(15) & .Cells(lig, 2).Value & NL .Cells(lig, 14).Value = "Demande NF" 'ecriture marqueur pour eviter envoi multiples End If Next x 'preparation envoi Set Workspace = CreateObject("Notes.NotesUIWorkspace") Set Session = CreateObject("notes.NOTESSESSION") Set Dir = Session.GETDATABASE("", "") Call Dir.OPENMAIL Set Doc = Dir.CREATEDOCUMENT Doc.form = "Memo" Doc.Subject = "Demande de valorisation fin de mois" Doc.SendTo = Adr Doc.CopyTo = "Loic.guessant@bnpparibas.com" Doc.Body = LeTexte1 & vbCrLf & LeTexte2 & vbCrLf & vbCrLf & vbCrLf & "Cordialement." Doc.SaveMessageOnSend = True Call Doc.Send(False) Set Session = Nothing 'MsgBox "Email sent.", vbOKOnly + vbInformation Set Db = Nothing Set Doc = Nothing Set Workspace = Nothing Set EditDoc = Nothing End If End If Next i End With End Sub
28 juil. 2015 à 17:34
Il manque juste une évolution pour ne pas gêner les destinataires.
En effet , il conviendrait de regrouper sur un même email tous les codes + libellés dont l'adresse email est identique
Est-ce possible ?
EXEMPLE :
CODES VALEURS CATEGORIE Adresses Contacts à revoir
QS0003417027" GENEHABITAT 3 Loic.guessant@bnpparibas.com à revoir
FR0010086595 SIMIANE "D" Loic.guessant@bnpparibas.com à revoir
FR0010709493 ELITE LAS FCP basevaleur@rothschild.com à revoir
A nouveau merci pour cette évolution qui va m'être bien utile.