Validation de donnée d'après une autre liste de validation de donnée

  • Initiateur de la discussion Initiateur de la discussion David
  • 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 !

David

XLDnaute Occasionnel
Bonjour à tous

j'ai une validation de donnée qui autorise une liste d'après le résultat de la cellule à coté, mais j'ai un problème lorsque la cellule est vide je peux mettre n'importe quoi dans la cellule. comment empecher cela (voir pièce jointe).

Merci d'avance.
David
 

Pièces jointes

Re : Validation de donnée d'après une autre liste de validation de donnée

Bonjour,

il suffit de limiter la recherche au valeur existante =DECALER($A$2;1;EQUIV(F12;$A$2:$D$2;0)-1;4)

ou mieux pour ne prendre que les valeurs (= pas les cellules vides)

en f11 =DECALER($A$2;0;1;1;NBVAL($A$2:$F$2)-1)
en g11 =DECALER($A$2;1;EQUIV(F11;$A$2:$F$2;0)-1;NBVAL(DECALER($A$2;0;EQUIV(F11;$A$2:$F$2;0)-1;7;1))-1;1)
 
Dernière édition:
Re : Validation de donnée d'après une autre liste de validation de donnée

Bonjour GIBI

c'est ce que j'ai fait, effectievement sur le tableau joint je n'ai pas limité la recherche (j'ai enlever certains choses pour simplifier) mais même en limitant si la cellule n'a pas de valeur ça ne donne pas de liste de validation, mais je peux quand même taper n'importe quoi dans la cellule.

J'ai apporté les modifs afin que vous puissiez vous en rendre compte.

Merci
 

Pièces jointes

Re : Validation de donnée d'après une autre liste de validation de donnée

David,

Pour éviter une saisie intempestive, une solution consiste à contrôler la saisie via un petit code VBA


Code:
Private Sub Worksheet_Change(ByVal Cellule As Range)
  
  If Intersect(Cellule, Range("G11:G100")) Is Nothing Then Exit Sub
  
  ' *** si saisie en colonne G  et colonne F = "" ==> supprimer la saisie
  If Cells(Cellule.Row, 6) = "" Then
     Application.EnableEvents = False
  
     Cellule = ""
     
     Application.EnableEvents = True
  End If
  
End Sub

Ce code est déclenché dés modification d'une cellule : le code a été ajouté dans l'onglet Feuil1 (visible en faisant bouton droit/visualiser le code sur l'onglet)
 

Pièces jointes

Re : Validation de donnée d'après une autre liste de validation de donnée

Merci GIBI

je mets ta solution de coté, mon fichier d'origine ne contenant pas de VBA, j'aimerai continuer sans, ça évite le message d'activation des macros à l'ouverture, vue que pas mal de personnes se serviront du fichier. Mais l'idée et bonne et ça peut m'ouvrir d'autres possibiltés!

Dons si quelqu'un a une solution sans VBA ça m'arrangerai.

Merci
 
Dernière édition:
Re : Validation de donnée d'après une autre liste de validation de donnée

David,

tu peux utiliser une mise en forme conditionnelle et mettre en rouge les cellules en cas de mauvaise saisie (c'est mieux que rien) :
si "=ET($F11="";$G11<>"")" alors rouge
 
- 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
15
Affichages
798
Réponses
4
Affichages
462
Retour