[VBA] Validation dynamique sous Excel
Résolu
Praetorian
-
michel_m Messages postés 18903 Statut Contributeur -
michel_m Messages postés 18903 Statut Contributeur -
Bonjour,
Petit souci en VBA.
Je suis en train de créer un formulaire de commande qui sera utilisé en 2 étapes.
Etape 1 - L'utilisateur #1 personnalise le formulaire. Il entre les quantités commandables: Exemple: minimum 10, Maximum 20.
Etape 2 - L'utilisateur #2 ouvre le formulaire personnalisé par l'utilisateur 1 et entre dans une cellule (G29) la quantité qu'il aimerait recevoir.
J'aimerais que l'utilisateur 1 puisse dynamiquement définir les conditions de validation (via minimum/maximum) de la cellule G29 sans devoir aller dans "données>validation". Le top serait qu'il entre le minimum et maximum dans des cellules (respectivement O29 et P29) et que cela modifie les critères de validation dynamiquement.
Puis j'aimerais que si l'utilisateur 2 entre une valeur fausse (par exemple 32 dans notre exemple) cela lui affiche un message genre: "Erreur, vous devez entrer une quantité entre 10 et 20."
Auriez vous une idée comment faire? J'ai déjà essayé 2-3 trucs mais ça ne marche pas...
Merci mille fosi d'avance!!!!!!
Petit souci en VBA.
Je suis en train de créer un formulaire de commande qui sera utilisé en 2 étapes.
Etape 1 - L'utilisateur #1 personnalise le formulaire. Il entre les quantités commandables: Exemple: minimum 10, Maximum 20.
Etape 2 - L'utilisateur #2 ouvre le formulaire personnalisé par l'utilisateur 1 et entre dans une cellule (G29) la quantité qu'il aimerait recevoir.
J'aimerais que l'utilisateur 1 puisse dynamiquement définir les conditions de validation (via minimum/maximum) de la cellule G29 sans devoir aller dans "données>validation". Le top serait qu'il entre le minimum et maximum dans des cellules (respectivement O29 et P29) et que cela modifie les critères de validation dynamiquement.
Puis j'aimerais que si l'utilisateur 2 entre une valeur fausse (par exemple 32 dans notre exemple) cela lui affiche un message genre: "Erreur, vous devez entrer une quantité entre 10 et 20."
Auriez vous une idée comment faire? J'ai déjà essayé 2-3 trucs mais ça ne marche pas...
Merci mille fosi d'avance!!!!!!
A voir également:
- [VBA] Validation dynamique sous Excel
- Tableau croisé dynamique excel exemple - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
3 réponses
Ci joint proposition (là il faut VBA !!!) ;-)
macro événementielle à copier coller dans le module feuille concerné
a adapter avec tes adresses de celulles: G29 au lieu de D3 etc.
Bonne soirée
macro événementielle à copier coller dans le module feuille concerné
a adapter avec tes adresses de celulles: G29 au lieu de D3 etc.
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Union(Range("A1"), Range("B2"))) Is Nothing Then: Exit Sub mini = Range("A1") maxi = Range("B2") Range("D3").Select With Selection.Validation .Delete .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:=mini, Formula2:=maxi .InputMessage = "saisir une valeur entre " & mini & " et " & maxi .ErrorMessage = "valeur incorrecte: saisir une valeur entre " & mini & " et " & maxi End With End Sub
Bonne soirée