Retour a la ligne pour chaque message dans une MsgBox sur Excel
Résolu/Fermé
A voir également:
- Retour a la ligne pour chaque message dans une MsgBox sur Excel
- Message - Guide
- Aller à la ligne excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Liste déroulante excel - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
2 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
Modifié par ThauTheme le 23/05/2016 à 16:14
Modifié par ThauTheme le 23/05/2016 à 16:14
Bonjour Summer, bonjour le forum,
peut-être comme ça :
À plus,
ThauTheme
peut-être comme ça :
Private Sub Workbook_Open() Dim MSG As String ''Pour chaque date de la colonne Date d'effet For Each cellule In Range("G:G") If cellule <= Date + 30 And cellule <> "" And cellule >= Date Then 'Si une date est inférieur ou égale à aujourd'hui +30 jours alors affiche le texte de la cellule correspondante en colonne A MSG = IIf(MSG = "", _ cellule.Offset(0, -1).Value & " " & cellule.Offset(0, -5).Value & " au " & cellule.Offset(0, -3).Value & " Changement dans les 30 prochains jours" & Chr(10), _ MSG & cellule.Offset(0, -1).Value & " " & cellule.Offset(0, -5).Value & " au " & cellule.Offset(0, -3).Value & " Changement dans les 30 prochains jours" & Chr(10)) End If Next MsgBox MSG, vbOKOnly End Sub
À plus,
ThauTheme
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
24 mai 2016 à 09:35
24 mai 2016 à 09:35
Bonjour a vous deux
Legeres modifs au code de Thauttheme:
Legeres modifs au code de Thauttheme:
Private Sub Workbook_Open() Dim MSG As String, Plage As Range, cellule As Range ''Pour chaque date de la colonne Date d'effet With Worksheets("feuil1") 'adapter nom de feuille derlig = .Range("G" & Rows.Count).End(xlUp).Row Set Plage = Range("G1:G" & derlig) End With For Each cellule In Plage If cellule <> "" And cellule >= Date And cellule <= Date + 30 Then 'Si une date est inférieur ou égale à aujourd'hui +30 jours alors affiche le texte de la cellule correspondante en colonne A MSG = IIf(MSG = "", cellule.Offset(0, -1).Value & " " & cellule.Offset(0, -5).Value & " au " & cellule.Offset(0, -3).Value & Chr(10), _ MSG & cellule.Offset(0, -1).Value & " " & cellule.Offset(0, -5).Value & " au " & cellule.Offset(0, -3).Value & Chr(10)) End If Next cellule MsgBox MSG, vbOKOnly, " Changement dans les 30 prochains jours" End Sub
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
>
summer
Modifié par f894009 le 24/05/2016 à 11:48
Modifié par f894009 le 24/05/2016 à 11:48
Re,
Ben, je serai tente de vous dire de regarder les differences entre les deux codes, mais bon ....
Ben, je serai tente de vous dire de regarder les differences entre les deux codes, mais bon ....
'mise en memoire des cellules non vides colonne G pour temps d'execution plus court With Worksheets("feuil1") 'adapter nom de feuille derlig = .Range("G" & Rows.Count).End(xlUp).Row 'derniere cellule non vide Set Plage = Range("G1:G" & derlig) 'mise en memoire des cellules non vide End With For Each cellule In Plage 'boucle sur la place de cellule en memoire 'MSG: vos infos cellules, bouton, titre de la boite MsgBox MSG, vbOKOnly, " Changement dans les 30 prochains jours"
23 mai 2016 à 16:13
23 mai 2016 à 16:15
23 mai 2016 à 16:16
23 mai 2016 à 16:19
23 mai 2016 à 16:21