Comment rendre la saisie obligatoire colonne E

bonjour,

je souhaite rendre obligatoire la saisie de la colonne dans mon tableau.

la colonne E doit être obligatoirement saisie, si une des colonnes du tableau est remplie.

Par exemple

Dans mon cas, mon tableau va de la colonne C à M. Donc Si C10 n'est pas vide ou F10, ou M10 alors E doit obligatoire être remplie sinon message d'arrêt

J'ai trouvé un code de banzai64 qui a l'air bien, mais j'ai pas réussi à l'adapter.

Public Old As Range

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Old Is Nothing Then Set Old = Target
  If Target.Column = 4 And Cells(Target.Row, 4) <> "" Then
    Application.EnableEvents = False
    Cells(Target.Row, 5).Select
    Set Old = ActiveCell
    Application.EnableEvents = True
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  If Old Is Nothing Then Set Old = Target
  If Old.Column = 5 And Old.Offset(0, -1) <> "" And Old = "" Then
    Application.EnableEvents = False
    Old.Select
    MsgBox "veuillez compléter la cellule E" & Old.Row
    Application.EnableEvents = True
  Else
    Set Old = Target
  End If
End Sub

Et mon fichier annexé,

Merci pour votre aide, et bonne année 2016 à tous

Bonsoir

A tester

Bonjour Banzai64,

Je te souhaite une bonne année 2016, et plein de bonnes choses.

J'ai vu la macro, mais cela ne correspond pas à ce que je recherche. Comme à mon habitude, j'ai du mal m'expliquer.

Mon souci :

Dans la colonne E, j'ai mis une validation de donnée (liste de choix).

Cela permet de contrôler la saisie, mais permet tout de même de laisser le champ vide avec une cellule comprenant une erreur.

Et je cherche à bloquer du coup la saisie, si le champ reste vide.

Dans ta macro, il ne faudrait pas de message d'alerte dès le début de la première colonne (ici C), car la personne n'est pas sensé remplir la colonne E en premier.

Je n'ai pas les compétences pour réaliser cela en VBA, vu mon niveau de débutant.

Je ne sais pas si cela est réalisable.

J'ai aussi penser à une piste également.

si la personne rempli la ligne du tableau et que la colonne E n'est pas remplie (qu'elle est laissée vide)

Alors lorsqu'elle quitte la ligne du tableau, cela lui mais un message d'alerte pour remplir la colonne E.

Si elle ne le fait pas, cela supprime la ligne du tableau.

je ne sais pas ce que tu en penses

Merci à toi

Bonjour

amorapa a écrit :

Et je cherche à bloquer du coup la saisie, si le champ reste vide.

C'est ce qui se passe non ?

Vraiment je ne comprend pas

Pas d'autre idée, je passe la amin

Une piste assez simple consiste à faire une MFC : mettre la cellule en fond rouge si elle n'est pas renseignée alors qu'une autre d ela même ligne est renseignée. Pas de code. C'est simple !

Banzai64 a écrit :

Bonjour

amorapa a écrit :

Et je cherche à bloquer du coup la saisie, si le champ reste vide.

C'est ce qui se passe non ?

Vraiment je ne comprend pas

Pas d'autre idée, je passe la amin

Banzai64,

Pour comprendre, c'est simple, j'ai repris le fichier avec ta macro, et tu peux constater que j'ai pu remplir des lignes du tableau, alors que la colonne E n'est pas remplie.

(Voir le fichier joint)

Donc,

comme je voulais te dire,

la macro ne bloque pas la saisie lorsque le champ de la colonne E est vide.

Mais merci d'avoir essayé, je me doute que ce ne doit pas être évident à réaliser.


Steelson a écrit :

Une piste assez simple consiste à faire une MFC : mettre la cellule en fond rouge si elle n'est pas renseignée alors qu'une autre d ela même ligne est renseignée. Pas de code. C'est simple !

Bonjour,

C'est une option intéressante, mais cela ne répond pas à ma volonté de rendre obligatoire la saisie dans la colonne E,

Merci quand pour cette option suplémentaire

Bonjour

Je ne suis pas trop d'accord

J'ai pris le fichier que tu as envoyé

J'ai sélectionné la cellule C32

F2 puis entrée ---> Message d'erreur

J'ai sélectionné la cellule K39 (liste de validation)

J'ai choisi un nom dans la liste ---> message d'erreur

Mais bon c'est ton programme tu fais ce que tu veux

Sans doute,

Mais comme tu as pu le constater par toi même, on peux toujours se passer de remplir la colonne E

N'oublions pas que c'est le résultat qui compte.

Mais, j'avoue que ce n'est pas évident à faire.

Cela parait simple, mais plus compliqué qu'on le croit.

Désolé de t'avoir mis de mauvais humeur avec mon prob

lol !!

Rechercher des sujets similaires à "comment rendre saisie obligatoire colonne"