Saisie obligatoire sous condition

PERRINFAB

XLDnaute Nouveau
Bonjour

Je sollicite votre aide sur la mise en place d'un contrôle de saisie.

Je construits un document excel permettant aux utilisateurs de saisir leurs besoins en personnel temporaire.

Si la cellule A1 est renseignée (liste de choix) alors la cellule B1 doit être alimentée (zone commentaire obligatoire) par l'utilisateur.

Je souhaite que pour poursuivre le reste de sa saisie, l'utilisateur soit contraint de saisir une valeur en B1 (uniquement si A1 est renseignée)

Merci pour votre aide

Bien cdt

Fabrice
 

lanoe

XLDnaute Occasionnel
Re : Saisie obligatoire sous condition

Bonjour,

Pas certain que cela réponde totalement à ta demande, mais peut-être une piste...

cordialement

lanoe
 

Pièces jointes

  • Test1.xls
    28 KB · Affichages: 97
  • Test1.xls
    28 KB · Affichages: 98
  • Test1.xls
    28 KB · Affichages: 101

job75

XLDnaute Barbatruc
Re : Saisie obligatoire sous condition

Bonjour,

Macro à placer dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

If Range("A1") = "" And Target.Address <> "$A$1" Then
Application.Undo
Range("A1").Select
End If

If Range("B1") = "" And Target.Address <> "$A$1" And Target.Address <> "$B$1" Then
Application.Undo
Range("B1").Select
End If

Application.EnableEvents = True
End Sub

A+
 
Dernière édition:

PERRINFAB

XLDnaute Nouveau
Re : Saisie obligatoire sous condition

Bonsoir

Je prends connaissance de vos éléments de réponse.

J'ai omis d'apporter une précision importante :

Si ma cellule A1 est renseignée alors la cellule B1 doit être saisie
Ensuite en cas de création de lignes supplémentaires (type base de données), je souhaite que ce contrôle de saisie s'effectue pour les cellules A2 et B2 puis A3 et B3 ... etc

Il s'agit de fonctionner plutôt en cellule à gauche ou à droite en fonction de la cellule cible.

Merci de votre contribution

Bien cdt

Fabrice
 

skoobi

XLDnaute Barbatruc
Re : Saisie obligatoire sous condition

Bonjour le fil,

Pas sûr d'avoir compris:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 2 Then
  If IsEmpty(Target.Offset(0, -1).Value) Then
    Application.Undo
    Target.Offset(0, -1).Select
  End If
End If
Application.EnableEvents = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 087
Membres
103 461
dernier inscrit
dams94