Cellule vide dans un formulaire (sans Userform)
Bonjour , je viens vers vous au sujet d'un problème que je n'arrive pas à résoudre .
Je vous remercie d'avance pour toutes aides .
Ce que j'ai fait :
J'ai fait un petit formulaire qui enregistre les données dans une autre feuille en transposant aussi .
Ce que je cherche :
Lorsque une cellule est vide dans le formulaire , colorier le fond en rouge, afficher un MessageBox d'erreur et ne pas enregistrer le formulaire en cours.
j'ai cherché avec la formule :
If Sheets("Formulaire").Range("B1") = "" Then Sheets("Formulaire").Range("B1").Interior.Color = RGB(255, 0, 0)
et MessageBox
Je vous remercie
Mon code pour sauvegarder mon formulaire sur une autre feuille
Sub sauv()
'
' sauv Macro
'
'
Range("B1:B5").Select
Selection.Copy
Sheets("Destination").Select
Application.Goto Reference:="R1000C1"
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Source").Select
Range("B1:B5").Select
Application.CutCopyMode = False
Selection.ClearContents
Sheets("Source").Select
MsgBox "sauv !"
End Sub
Bonsoir,
une proposition :
Sub sauv()
' test sur cellules vides
If Application.WorksheetFunction.CountIf(Range("B1:B5"), "") > 0 Then
For i = 1 To 5
' si vide on passe en rouge
If Cells(i, 2).Value = "" Then Cells(i, 2).Interior.Color = RGB(255, 0, 0)
Next i
' on affiche le message d'erreur
MsgBox ("erreur sur ces données !")
' on enlève la couleur
Range("B1:B5").Interior.Color = xlNone
' on quitte prématurément
Exit Sub
End If
' on récupère les valeurs du formulaire
tablo = Range("B1:B5")
' on colle en transposant
Sheets("Destination").Cells(Sheets("Destination").Range("A" & Rows.Count).End(xlUp).Row + 1, 1).Resize(, 5) = Application.Transpose(tablo)
' on efface le formulaire
Range("B1:B5").ClearContents
' on affiche que c'est sauvé
MsgBox "sauv !"
End Sub@ bientôt
LouReeD
Merci Merci Beaucoup à toi et ton temps