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 Je te remercie , bonne soirée :) !

Rechercher des sujets similaires à "vide formulaire userform"