re Bonjour David, Hervé, le Forum
En fait alors il faudrait faire une sorte de "Mix" entre la proposition d'Hervé et la mienne...
Par contre il faudrait que tu définisses clairement quelles cellules doivent être renseignées car manifestement selon ton exemple, ce ne sont pas toutes les cellules de A1 à F10 mais simplement "B7"...
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Message As String
Dim Cell As Range
If Not Application.Intersect(Target, Range("A1:F10")) Is Nothing Then Exit Sub
For Each Cell In Range("A2,A4,C2,C4,B6:B7,E7") '<<<< a définir ici...
If Cell = "" Then Message = Message & vbCrLf & Cell.Address(0, 0)
Next Cell
If Message <> "" Then
MsgBox "Cellules non remplies :" & vbCrLf & Message, vbCritical
End If
End Sub
Par ailleurs pour ta connaissance, j'ai remarqué que tu avais tenté de mettre en Private Module la Sub "vev()" d'Hervé en Private Module de la Feuille "Feuil1", mais dans ce genre de Module on ne met normalement que des Macros évènementielles...
A propos de Macros évènementielles, tu noteras que cette fois ci je me base sur l'évènement "Worksheet_SelectionChange" ...
Bonne Soirée
@+Thierry