Message qui montre plusieurs cellules manquantes
salut
J'ai dans un onglet dans la colonne N (n1 à n16) le chiffre 1 qui s'affiche si une cellule est vide. la colonne d'à côté (colonne O- ligne 1 à 16) a le nom de la cellule en question.
Par exemple:
si N1 correspond au nom d'un client et N2 correspond à son adresse, alors s'il y a le chiffre 1 dans les cellules N1 et N2 alors je voudrais avoir un message qui dise "[valeur cellule O1 & valeur cellule O2] & "n'ont pas été renseignées. Veuillez complétez les informations manquantes".
Et ainsi de suite, s'il y a 3 cellules, 4 cellules etc jusqu'à 15 cellules --> le message montre la liste manquantes selon la valeur des cellules dans la colonne O.
Si toutes les 16 cellules de la colonne N manquent (c'est à dire si N1 à N16 ont TOUTES la valeur 1), alors le message dira tout simplement un truc dans le genre: "Toutes les informations manquent. Veuillez les renseigner et re-essayer".
Je sais le faire pour seulement une cellule manquante (c'est-à-dire, si une des cellules de la colonne N a la valeur "1"), mais je ne sais comment le faire pour que ça vérifie toutes les cellules (de N1 à N16) et s'il y a plus d'une cellule avec la valeur 1 (dans colonne N), alors le message qui s'affiche montre toutes les valeurs de la colonne O correspondantes aux lignes qui ont 1 dans la colonne N.
Parce que sinon, s'il y a par exemple 5 valeurs manquantes (chiffre 1 dans les cellules n1 à n5 par exemple), je ne veux pas que l'utlisateur reçoive 5 messages les uns à la suite des autres...
voici le code pour une seule cellule, et je joins un fichier demo..
merci d'avance!
sub test()
If Range("N1") = 1 Then
MsgBox Range("O1").Value & " " & "is missing. Please fill the missing fields and try again""
Exit Sub
Else
call Ma macro
end sub
Bonjour,
à tester,
Sub presend()
Dim ret As Integer
For i = 1 To 16
If Range("N" & i) = 1 Then msg = msg & Range("O" & i) & Chr(10)
Next i
If msg <> "" Then
MsgBox msg & Chr(10) & "is missing. Please fill the missing fields and try again"
Exit Sub
Else
ret = MsgBox("Do you want to save and send this document to the accounting department?", vbYesNo)
If ret = vbNo Then
MsgBox "It has not been sent", vbInformation
Exit Sub
Else
Call save_excel
End If
End If
End Sub