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.
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.