MsgBox avec boucle qui énumère
Kuartz
Messages postés
852
Date d'inscription
Statut
Membre
Dernière intervention
-
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai pris le code de michel_m sur le forum (merci à lui) :
Je n'arrive pas à l'adapter avec une condition :
Là j'ai plusieurs MsgBox qui apparaissent alors que j'aurais voulu en avoir une seule qui énumère toutes les cellules (i, "B") concernées par la condition.
Merci d'avance.
Cordialement.
J'ai pris le code de michel_m sur le forum (merci à lui) :
Sub enumerer() fin = Range("A100").End(xlUp).Row For cpt = 1 To fin Message = Message & Cells(cpt, "A") & vbLf Next MsgBox Message End Sub
Je n'arrive pas à l'adapter avec une condition :
Private Sub Workbook_Open() Dim DL As Long DL = Cells(Application.Rows.Count, 1).End(xlUp).Row For i = 1 To DL If Range("A" & i).Value < 30 Then MsgBox ("Attention, la valeur est supérieure à 30" & vbLf & vbLf & "-" & Cells(i, "B") & vbLf) End If Next i End Sub
Là j'ai plusieurs MsgBox qui apparaissent alors que j'aurais voulu en avoir une seule qui énumère toutes les cellules (i, "B") concernées par la condition.
Merci d'avance.
Cordialement.
A voir également:
- MsgBox avec boucle qui énumère
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Pc qui s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Smart tv qui s'allume et s'éteint en boucle - Forum TV & Vidéo
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
2 réponses
Bonjour,
Private Sub Workbook_Open() Dim DL As Long, Liste_Cell As String DL = Cells(Application.Rows.Count, 1).End(xlUp).Row For i = 1 To DL If Range("B" & i).Value < 30 Then Liste_Cell = Liste_Cell & "-" & Cells(i, "B") & vbLf End If Next i MsgBox ("Attention, la valeur est supérieure à 30" & vbLf & vbLf & Liste_Cell) End Sub
Bonjour
Autre proposition affichant la liste des cellules de la colonne B > à 30 à la place des valeurs
Cdlt
Autre proposition affichant la liste des cellules de la colonne B > à 30 à la place des valeurs
Private Sub Workbook_Open() Dim DL As Long DL = Cells(Application.Rows.Count, 1).End(xlUp).Row Mes = "" For i = 1 To DL If Range("B" & i).Value > 30 Then Mes = Mes & Cells(i, 2).Address(RowAbsolute:=False, columnAbsolute:=False) & Chr(10) Next i MsgBox "Attention, la valeur dans les cellules suivantes est supérieure à 30" & vbLf & vbLf & Mes End Sub
Cdlt
Merci beaucoup pour vos 2 réponses. Je n'arrive pas à avoir certains mécanismes en VBA. J'ai du travail.... Par exemple, il était évident qu'il fallait intégrer une variable pour récupérer les données des lignes i mais il ne fallait surtout pas que la MsgBox fasse partie de la boucle.
Merci en tout cas.
Cordialement.
Merci en tout cas.
Cordialement.