XL 2013 Utilisation de la validation de données avec plusieurs critères

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 !

Grafite

XLDnaute Nouveau
Bonjour à tous
Je sollicite votre aide pour l’utilisation de la validation de données avec plusieurs conditions.
Je souhaiterais par l’intermédiaire d’une formule entrée la validation de donnée dans des cellules en utilisant l’option personnalisé.
Par exemple sur les cellules B4, C4 et D4 (Pomme / Espagne):
Un utilisateur doit remplir peut remplir les cellules B4, C4 et D4 mais avec les conditions :
  • Autoriser uniquement dans chacune de ces cellules que des nombres décimaux,
  • L’utilisateur ne mettre une valeur dans une cellule que si SOMME($B4:$D4)<=$B$3 est VRAI
  • Et idéalement, la valeur rentrée doit être multiple de 0,5 par exemple : 0,5 1,5 2 2,5 3 3,5 4 jusqu’à la valeur max de $B$3 dans l’exemple.
J’ai testé individuellement la formule dans « personnalisée =SOMME($B4:$D4)<=$B$3 et =ESTNUM(B4😀4) ça fonctionne mais je n’arrive pas à utiliser les 2 conditions avec OU ET SI.
Merci par avance pour votre aide.

Cordialement,
 

Pièces jointes

Solution
Le problème est parfaitement résolu avec votre formule magique.
En tout cas, j’ai appris des choses … et bon je l’avoue ça fait un très long moment que je me prenais la tête et sans vous je n’y serais pas parvenu.

Merci encore pour votre aide.
Bonjour,
Je suppose que c'est $B$2 et non $B$3 .

La bonne formule de validation est propre à une cellule :
en B4 : =ET(SOMME($B4:$D4)<=$B$2;OU(B4="";ESTNUM(B4));MOD(B4;0.5)=0)
en C4: =ET(SOMME($B4:$D4)<=$B$2;OU(C4="";ESTNUM(C4));MOD(C4;0.5)=0)
en D4: =ET(SOMME($B4:$D4)<=$B$2;OU(D4="";ESTNUM(D4));MOD(D4;0.5)=0)
 
Dernière édition:
Bonjour,
Oups! Je vous confirme qu'il s'agit de $B$2
En ajoutant les multiples, le but serait d'avoir ensuite pour les autres cellules et suivant votre formule :
en B4 : =ET(SOMME($B4:$D4)<=$B$2;OU(B4="";ESTNUM(B4)))
en C4: =ET(SOMME($B4:$D4)<=$B$2;OU(C4="";ESTNUM(C4)))
en D4: =ET(SOMME($B4:$D4)<=$B$2;OU(D4="";ESTNUM(D4)))

en B5 : =ET(SOMME($B5:$D5)<=$B$2;OU(B4="";ESTNUM(B5)))
en C5: =ET(SOMME($B5:$D5)<=$B$2;OU(C4="";ESTNUM(C5)))
en D5: =ET(SOMME($B5:$D5)<=$B$2;OU(D4="";ESTNUM(D5)))

en E4 : =ET(SOMME($E4:$G4)<=$E$2;OU(E4="";ESTNUM(E4)))
en F4: =ET(SOMME($E4:$G4)<=$E$2;OU(F4="";ESTNUM(F4)))
en G4: =ET(SOMME($E4:$G4)<=$E$2;OU(G4="";ESTNUM(G4)))

en E5 : =ET(SOMME($E5:$G5)<=$E$2;OU(E5="";ESTNUM(E5)))
en F5: =ET(SOMME($E5:$G5)<=$E$2;OU(F5="";ESTNUM(F5)))
en G5: =ET(SOMME($E5:$G5)<=$E$2;OU(G5="";ESTNUM(G5)))

Merci pour votre aide
 
Bonjour,
Oups! Je vous confirme qu'il s'agit de $B$2
En ajoutant les multiples, le but serait d'avoir ensuite pour les autres cellules et suivant votre formule :
en B4 : =ET(SOMME($B4:$D4)<=$B$2;OU(B4="";ESTNUM(B4)))
en C4: =ET(SOMME($B4:$D4)<=$B$2;OU(C4="";ESTNUM(C4)))
en D4: =ET(SOMME($B4:$D4)<=$B$2;OU(D4="";ESTNUM(D4)))

en B5 : =ET(SOMME($B5:$D5)<=$B$2;OU(B4="";ESTNUM(B5)))
en C5: =ET(SOMME($B5:$D5)<=$B$2;OU(C4="";ESTNUM(C5)))
en D5: =ET(SOMME($B5:$D5)<=$B$2;OU(D4="";ESTNUM(D5)))

en E4 : =ET(SOMME($E4:$G4)<=$E$2;OU(E4="";ESTNUM(E4)))
en F4: =ET(SOMME($E4:$G4)<=$E$2;OU(F4="";ESTNUM(F4)))
en G4: =ET(SOMME($E4:$G4)<=$E$2;OU(G4="";ESTNUM(G4)))

en E5 : =ET(SOMME($E5:$G5)<=$E$2;OU(E5="";ESTNUM(E5)))
en F5: =ET(SOMME($E5:$G5)<=$E$2;OU(F5="";ESTNUM(F5)))
en G5: =ET(SOMME($E5:$G5)<=$E$2;OU(G5="";ESTNUM(G5)))

Merci pour votre aide
Avez-vous une idée pour n’autoriser que les multiples de 0,5 ?
 
Le problème est parfaitement résolu avec votre formule magique.
En tout cas, j’ai appris des choses … et bon je l’avoue ça fait un très long moment que je me prenais la tête et sans vous je n’y serais pas parvenu.

Merci encore pour votre aide.
 
Si cela vous intéresse, le code suivant implémente les formules de validation, code adapté au classeur fourni .
VB:
Sub Set_Validation()

    L = Application.Max(4, Cells(Rows.Count, "A").End(xlUp).Row)
   
    Range("B4:D" & L).ClearContents
    Range("B4:D" & L).Validation.Delete
    With Range("B4").Validation
        .Add xlValidateCustom, xlValidAlertStop, xlBetween, _
            "=AND(SUM($B4:$D4)<=$B$2,OR(B4="""",ISNUMBER(B4)),MOD(B4,0.5)=0)"
        .IgnoreBlank = True: .InCellDropdown = True
        .InputTitle = "": .InputMessage = "": .ShowInput = True
        .ErrorTitle = "": .ErrorMessage = "": .ShowError = True
    End With
    Range("B4").AutoFill Range("B4:B" & L), xlFillValues
    Range("B4:B" & L).AutoFill Range("B4:D" & L), xlFillValues
   
    Range("E4:G" & L).ClearContents
    Range("E4:G" & L).Validation.Delete
    With Range("E4").Validation
        .Add xlValidateCustom, xlValidAlertStop, xlBetween, _
            "=AND(SUM($E4:$G4)<=$E$2,OR(E4="""",ISNUMBER(E4)),MOD(E4,0.5)=0)"
        .IgnoreBlank = True: .InCellDropdown = True
        .InputTitle = "": .InputMessage = "": .ShowInput = True
        .ErrorTitle = "": .ErrorMessage = "": .ShowError = True
    End With
    Range("E4").AutoFill Range("E4:E" & L), xlFillValues
    Range("E4:E" & L).AutoFill Range("E4:G" & L), xlFillValues
   
End Sub
 
- 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

Retour