Validation d'une saisie

Bonjour à tous les forumeurs,

Il y a t-il un solution quand je rentre des données dans une feuille de saisie et quand je valide il m'informe par une alerte que des cellules qui devraient avoir obligatoirement des données doivent remplies.

Cela permettrai lors de la saisie que j' n'ai pas de lignes vides dans mon tableau.

Merci d'avance.

Noël

hello

essaye avec une celllule dans laquelle tu mets

= SI (celluleàremplir = "" ; "Alerte, vous devez remplir Celluleàremplir" ; "")

au format gras et rouge

Bonjour à tous

jmd, me propose une solution

Cela marche pour une cellule. Mais si j'en ai plusieurs dans le même tableau que faut-il faire?

Mais aussi je voudrai le mettre dans une Macro "ENREGISTRER" est-ce possible?

Si c'est possible où dois le mettre?

Je joins la MACRO "Enregistrer"

Sub EnregSaisieBQ()

Application.EnableEvents = False

Application.ScreenUpdating = False

With ActiveSheet

Range("ligne").Copy 'copie la ligne B14:g14

Sheets("TableauBQ").Visible = True

With Sheets("TableauBQ") 'feuille tableau banque

.Range("b65536").End(xlUp)(2).PasteSpecial Paste:=xlPasteValues 'sur la première ligne vide en colonne B

End With

c = .Range("B7").Value 'N° CHEQUE

.Range("B7").Value = c + 1 'incrémente le N° DE CHEQUE

.Range("C8:C9").ClearContents 'effacer le contenu de cellule

.Range("G8:G9").ClearContents 'effacer le contenu de cellule

.Range("C8").Activate 'se positionne en C8

End With

With Application

Application.EnableEvents = True

Application.ScreenUpdating = True

End With

End Sub

Merci beaucoup.

Bonjour à tous,

tu peux mettre un contrôle, pour vérifier si "ligne" est totalement rempli

    If Application.WorksheetFunction.CountA(Range("ligne")) < 6 Then
        MsgBox ("Données incomplètes !")
        Exit Sub
    End If

amicalement

Claude.

édit: code à mettre de suite après le Sub (1ère ligne de code)

Claude bonjour,

Je m'excuse sauf erreur de ma part il me semble qu'il manque une partie de la MACRO!

Cette Macro je dois la mettre dans la feuille de saisie ou dans la feuille qui réceptionne les données.

Merci

Amicalement

Noël

re,

au début de la macro que tu a mis + haut

Sub EnregSaisieBQ()
    If Application.WorksheetFunction.CountA(Range("ligne")) < 6 Then
        MsgBox ("Données incomplètes !")
        Exit Sub
    End If 
Application.EnableEvents = False
Application.ScreenUpdating = False 
'   suite de ta macro

Claude

Re

Claude j'ai installer le bout de la Macro comme prévue Ca marche pas je crois comprendre pourquoi.

Lorsque je clique sur le bouton valider il accepte la validation même si les cellules concernées sont vide parceque il rempli la ligne B14 à G14 PAR "0" ou 0,00€.

J'ai l'impression qu'il prend en compte comme si que la cellule il y avait quelque chose de saisie.

@+

Noël

re,

évidement, 0 ou 0,00 . sont des valeurs; donc pas vide !

c'est des formules ??

si oui, le problème n'est pas le même !

peux-tu envoyer la feuille de saisie ?

Claude.

Re

Tu as trouvé la solution.

Je t'expédie un bout du fichier

https://www.excel-pratique.com/~files/doc/6KS0DClasseur1.xls

@++

Noël

re,

remplace le If par :

    If Application.WorksheetFunction.Sum(Range("ligne")) = 0 Then

Claude.

édit: ou

   If Range("e4") = 0 Then

Bonjour,

C'est la suite de ce fil, il me semble ....--> https://www.excel-pratique.com/forum/viewtopic.php?t=7919

Les cellules vides ne sont pas de B14 à G14 à mon avis. En effet tu as une colonne Debit et une colonne Crédit.

La plage à contrôler doit être B14 - F14 ou B14 - G14.

Pourquoi ne pas utiliser une MFC qui te met la ligne en couleur tant que tout n'est pas complété et faire en sorte que la macro AJOUTER (que je t'ai proposée dans le fil référencé ci-avant) ne se fasse que si toutes les cellules sont complétées.

A te relire

Dan

re,

Voilà ce qui arrive, quand on ne suis pas le fil !

Dan, ton fichier m'a fait planter ! !

Claude.

Re,

If Application.WorksheetFunction.Sum(Range("ligne")) = 0 Then

Cette fonction me donne le même résultat

quant à celle là : If Range("e4") = 0 Then

me donne un BUG

Merci d'avance

Amicalement

Noël

re,

Bon je reprends !

En continuant sur mon idée de départ,

Tu peux sélectionner les cellules :

b7

c8 c9

g8 g9

et nommer cette sélection "contr_saisie" par exemple

et dans ta macro, çà devient :

    If Application.WorksheetFunction.CountA(Range("contr_saisie")) < 5 Then
        MsgBox ("Données incomplètes !")
        Exit Sub
    End If 

je ne compte pas la date.

Claude.

Re,

Claude, je ne vois pas pourquoi tu t'énerves là ...

Dan, ton fichier m'a fait planter ! !

Quel est le problème ?

A te relire

Dan

Dan,

je ne m'énerve pas du tout, c'est une info.

en ouvrant ton lien, plantage ! peut-être incompatibilité avec Mac ?

Quand au problème de Noel, je ne connais pas l'historique de son fichier.

Bonne journée Dan

Claude.

Edit Dan : Aucun plantage et là je suis sous PC windows.

A bientôt Claude.

Dan

Re,

Vous aller pas entamer une bataille virtuelle à cause de moi

Claude je pense que c'était un de tes fichiers de départ que j'ai réadapté selon mes besoins surtout pour me faire la amin

Alors il n'y pas de quoi à vous prendre la tête.

Jusqu'à maintenant le fichier a bien fonctionné mais je voulais rajouter des fonctionnalités tel que sur 4D : si (A1=0)

alerte (" Attention vous n'avez rempli le champ concerné")

dans ce cas tu avais 2 possibilités soit de rempli le champ ou de continuer avec une autre fonction.

Je croyais que c'"tait aussi simple mais ce langage je ne connais pas.

Je suis pour la paix du forum vous êtes mes amis forumeurs qu'un jour on aura peut être l'occasion de se rencontrer.

Pour aujourd'hui j'ai eu mon compte je vous souhaite une bonne soirée chez nous iles t 18h30

Merci de votre collaboration mais je suis toujours preneurs de vos suggestions.

Aùicalement

Noël

Edit Dan : Oh mais te tracasse pas Noël. Je ne vais surement pas me disputer avec Claude. Simple question que je me suis posée. D'où ma demande.

Dan

re,

Noel, rassure-toi, pas de lézard avec Dan, c'est mon "prof VBA"

Petite remarque Noel, à mon avis, tu ouvre trop de fils à la fois et tu t'emmêles un peu les crayons !

Pour ton fichier, regarde cette proposition avec saisie transposée.

Fichier :

https://www.excel-pratique.com/~files/doc/noel1.xls

Amicalement

Claude.

Bonjour Claude et Dan, et à tous les visiteurs du fil,

Tu as tout à fait raison Claude. Je suis un gourmand de nature avide d'apprendre c'est vrai comme si que j'ai plus beaucoup de temps.

Que veux-tu c'est ma nature

Merci pour ton fichier il faut que je prenne le temps de l'ingurgiter. Pour moi c'est compliqué.

Si j'ai bien compris la partie haute de saisie n'est plus d'actualité. Car le compteur ne marche plus. Je ferai les essais

@+ les amis

Cordialement

Noël

Bonjour Noel et à tous,

Je n'avais pas vu le compteur !

tu ajoute cette ligne avant le End Sub

    Range("e17") = Range("TABLEAUBQ!b65536").End(xlUp) + 1 'compteur
End Sub

La date est entrée par la macro à la validation.

édit :La plage de saisie est nommée "saisie"

Cette disposition évite les formules intermédiaires.

Bonne journée

Claude.

PS : combien de décalage horaire entre La Réunion et Paris ?

Rechercher des sujets similaires à "validation saisie"