Répéter une action IF avec msgbox

Bonjour à tous,

J'ai créé un code pour qu'un message apparaisse si une cellule n'est pas renseignée dans mon fichier :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If ThisWorkbook.Sheets("Feuil1").Range("B26") <> "Rentrer une réf" And Range("G26") = "" Then

Cancel = True

Range("G26").Select

MsgBox "Veuillez inscrire la quantité à la ligne " & ActiveCell.Row, vbCritical, "ATTENTION !"

End If

End Sub

Ce code marche très bien. J'aimerais cependant que cette action se fasse pour toutes les cellules (de la 26 à la 45).

Dois-je répéter ce code ou y a-t-il un autre code qui me permet de répéter cette action en prenant en compte toutes les cellules inscrites ? (par exemple :

If ThisWorkbook.Sheets("Feuil1").Range("B27") <> "Rentrer une réf" And Range("G27") = "" Then

Cancel = True

Range("G27").Select

MsgBox "Veuillez inscrire la quantité à la ligne " & ActiveCell.Row, vbCritical, "ATTENTION !"

End If

... etc

Merci pour votre aide.

Maéva

Bonsoir,

ci-jointe une proposition

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim ligne As Range

    For Each ligne In Me.Sheets("Feuil1").Rows("26:45")
        If ligne.Columns("B") <> "Rentrer une réf" And ligne.Columns("G") = "" Then
            Cancel = True
            ligne.Columns("G").Select
            MsgBox "Veuillez inscrire la quantité à la ligne " & ligne.Row, vbCritical, "ATTENTION !"
        End If
    Next ligne

End Sub

Bonsoir,

Essaye comme ça ou adapte-le à ton besoin :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    For i = 26 To 45
        If Sheets("Feuil1").Range("B" & i) <> "Rentrer une réf" And Range("G" & i) = "" Then
            Cancel = True
            Range("G" & i) = InputBox("Veuillez inscrire la quantité à la ligne " & ActiveCell.Row)
        End If
    Next i
End Sub

Merci beaucoup !

Rechercher des sujets similaires à "repeter action msgbox"