XL 2016 Message d'erreur si cellule non rempli

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MissSayra

XLDnaute Nouveau
Bonjour,

Excusez moi je ne suis pas très douée avec Excel et surtout avec les macro, je suis entrain de créer un formulaire pour m'aider à faire la facturation.
Sauf que trop souvent les collaborateurs oublie de me remplir le montant à facturer.
J'aimerai que à partir du moment ou ils me rentrent une prestation à facturer, ils soient obligé de me rentrer un montant sinon un message d'erreur s'affiche.

En vous remerciant,
 

Pièces jointes

Bonjour MissSayra, bienvenue sur XLD,

Votre fichier ne permet de savoir comment doit s'organiser le projet.

Le but du forum n'est pas de créer un projet mais de résoudre des problèmes ponctuels.

Donc avancez dans votre projet et venez ici quand vous rencontrez un problème.

A+
 
Bonjour MissSayra, bienvenue sur XLD,

Votre fichier ne permet de savoir comment doit s'organiser le projet.

Le but du forum n'est pas de créer un projet mais de résoudre des problèmes ponctuels.

Donc avancez dans votre projet et venez ici quand vous rencontrez un problème.

A+
Bonjour Je ne comprends pas votre message le fichier est bien créer, je bloque juste sur comment faire le message d'erreur " montant obligatoire !" si la case montant est vide à partir du moment ou la cellule prestation est rempli, je vous ai mit un exemple.
 

Pièces jointes

Bon si vous n'avez aucune idée sur la méthode à appliquer en voici 2.

1) Par formule avec cette formule matricielle en C2 :
Code:
=SIERREUR("Entrez le montant en D"&EQUIV(1;(C6:C10000<>"")*ESTVIDE(D6:D10000);0)+5;"")
2) Par VBA avec cette macro dans le code de la 1ère feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Range("c6:C" & Rows.Count), UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r
    If r <> "" And Not IsNumeric(CStr(r(1, 2))) Then
        Application.EnableEvents = False 'désactive les évènements
        r(1, 2).Select
        Application.EnableEvents = True 'réactive les évènements
        MsgBox "Entrez le montant en " & ActiveCell.Address(0, 0)
        Exit For
    End If
Next
End Sub
A+
 

Pièces jointes

Bon si vous n'avez aucune idée sur la méthode à appliquer en voici 2.

1) Par formule avec cette formule matricielle en C2 :
Code:
=SIERREUR("Entrez le montant en D"&EQUIV(1;(C6:C10000<>"")*ESTVIDE(D6:D10000);0)+5;"")
2) Par VBA avec cette macro dans le code de la 1ère feuille :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Range("c6:C" & Rows.Count), UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r
    If r <> "" And Not IsNumeric(CStr(r(1, 2))) Then
        Application.EnableEvents = False 'désactive les évènements
        r(1, 2).Select
        Application.EnableEvents = True 'réactive les évènements
        MsgBox "Entrez le montant en " & ActiveCell.Address(0, 0)
        Exit For
    End If
Next
End Sub
A+
Je vous remercie !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour