validation de donnee

  • Initiateur de la discussion Initiateur de la discussion GHISLAIN
  • Date de début Date de début

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 !

GHISLAIN

XLDnaute Impliqué
bonjour le forum,

je souhaite activé une cellule contenant une validation de données uniquement si la cellule précédente (contenant aussi une liste de choix ) soit sur le choix "PRÉSENT"
si ce choix n est pas activé , avoir un type de message : le choix de cette cellule ne peux etre activé , la cellule situation n'est pas sur PRÉSENT.


merci de votre aide et suggestion

cordialement

ghislain
 

Pièces jointes

Re : validation de donnee

ReBonjour,
on peut le faire aussi avec : =SI($C3="PRESENT";duree;""),
mais il faut mettre "PRESENT" dans la cellule $C3 avant de le faire avec cette formule...
Amicalement

Edit : Salut Chris
 
Dernière édition:
Re : validation de donnee

Bonjour

Pour un message il faudrait du vba : tu peux adapter le message de base et utiliser la solution suivnte :
créer une liste contenant la valeur 0 et la nommer duree2.
Puis mettre la formule que tu as testée mais au lieu de "" tu mets durée2.

Edit : coucou Rachid
 
Re : validation de donnee

Bonjour

La solution de RACHID est plus élégante que le mienne.

Tu peux utiliser l'onglet "Message de Saisie" de la validation pour mette une consigne du type
"Seule la situation PRESENT permet la saisie d'un temps
 
Re : validation de donnee

re chris,

je viens de tester ta proposition qui fonctionne inpect.

j aurais toutefois une question



si je souhaite ajouter une nouvelle colonne et controler la saisie de la meme façon les exit sub empeche le deroulement de la procedure

j ai donc tenté sans resultat :




If Intersect(Target, Range("temps")) Is Nothing Then
If Target.Cells.Count > 1 Then Exit Sub
If Target.Offset(0, -1) <> "" And Target.Offset(0, -1).Value <> "PRESENT" Then MsgBox ("toto")

end if


If Intersect(Target, Range("temps2")) Is Nothing Then
If Target.Cells.Count > 1 Then Exit Sub
If Target.Offset(0, -2) <> "" And Target.Offset(0, -2).Value <> "PRESENT" Then MsgBox ("toto2")

end if



merci de m eclairer pour pouvoir controler les deux colonnes (nb la seconde sera a coté de celle nomée temps)

cordialement

ghislain
 
Re : validation de donnee

Bonjour

A tester
Code:
If  Intersect(Target, Range("temps"))Is Nothing and Intersect(Target, Range("temps2")) Is Nothing then exit sub

ou

Code:
If  Intersect(Target, Range("temps", "temps2"))Is Nothing then exit sub
 
Dernière édition:
Re : validation de donnee

Re

J'ai oublié de préciser la suite donc
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("temps", "temps2")) Is Nothing Then Exit Sub
    If Target.Cells.Count > 1 Then Exit Sub
    If Not (Intersect(Target, Range("temps")) Is Nothing) Then
        If Target.Offset(0, -1) <> "" And Target.Offset(0, -1).Value <> "PRESENT" Then MsgBox ("le choix de cette cellule ne peux etre activé, la cellule situation n'est pas sur PRESENT")
    Else
        If Target.Offset(0, -2) <> "" And Target.Offset(0, -2).Value <> "PRESENT" Then MsgBox ("cas2")
    End If
End Sub
 
Re : validation de donnee

c est re moi,

une nouvelle question
Target.Offset(0, -3) - defini la cellule de référence par rapport a la cellule active
ceci fonctionne bien si je rentre toute mes colonnes d un coup
toutefois , l'ensemble des colonnes sont affectées a une personne , et je dois ajouter ou supprimer des personnes sur mon fichier
final a la demande .
l ajout des colonnes se fait par macro , du coup (0, -3) ne sera jamais a la meme place
ne serait il donc pas possible , de definir une plage a la place de Target.Offset(0, -3)?

definir la colonne situation comme etant la plage de reference ??


cordialement

ghislain
 
- 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

Discussions similaires

Réponses
2
Affichages
259
Retour