validation/données ?

arnaoke

XLDnaute Occasionnel
Bonjour,

J'ai un petit problème, concernant l'affichage de message de type Données/validation/Message de saisie.

En effet, lorsque j'utilise l'éditeur de macro (lorsque je lance la macro en fait), le message de saisie est appliqué correctement, mais lorsque j'utilise le meme code en vba sous l'éditeur de développement, j'ai une erreur ...

voici mon code :
Code:
Cells(9, 34).Interior.ColorIndex = 3 'colore la case en jaune/orange (avertissement)
                    With Cells(9, 34).Validation
                        .Delete
                        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
                        :=xlBetween
                        .IgnoreBlank = True
                        .InCellDropdown = True
                        .InputTitle = "Alerte"
                        .ErrorTitle = ""
                        .InputMessage = " < 9 jours !"
                        .ErrorMessage = ""
                        .ShowInput = True
                        .ShowError = True
                    End With

le problème est sur la ligne "Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween"

voila l'erreur obtenue : "Erreur définie par l'application ou par l'objet"

des idées ?
 

Fred0o

XLDnaute Barbatruc
Re : validation/données ?

Bonjour arnaoke,

Ta formule de validation est incomplète. En effet, si il y a xlBetween (entre) il te faut définir les bornes, ce qui n'est pas fait dans ton code. Si par exemple tu veux des valeurs entre 9 et 13, il te faudra écrire :

VB:
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="9", Formula2:="13"

A+
 

job75

XLDnaute Barbatruc
Re : validation/données ?

Bonjour,

Sur Excel 2010, je n'ai aucun problème.

Mais je crois me souvenir qu'il y en effet un problème sur Excel 2003 quand le focus est pris par un bouton ActiveX.

Il suffit alors de rendre le focus à la feuille en écrivant au début :

Code:
ActiveCell.Activate
ou bien de mettre la propriété TakeFocusOnClick du bouton à False.

A+
 

Discussions similaires