VBA EXCEL création liste de validation de données

VBA EXCEL création liste de validation de données - VB/VBA/VBS - Programmation

Marsh Posté le 20-12-2004 à 10:54:43    

Voilà j'ai un problème pour créer une validation de données en VBA sous EXCEL.
 
En gros je dois mettre une liste déroulante sur différentes cellules. Dans cette liste déroulante, il doit y avoir des données qui se trouvent dans une zone cachée (sur la meme feuille). Je dois donc mettre en place la validation de données. Cependant comme ma liste est susceptible de changer je dois faire cette validation en VBA et de manière automatique.
 
J'ai donc recherché dans l'aide d'EXCEL et sur internet et voilà ce que j'ai trouvé :
 
 
With Range("A1" ).Validation
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Formula1:="=" & Range("A433:A445" ).Address
End With
 
A1 est la cellule dans laquelle je veux mettre la liste déroulante et A433:A434 est la zone contenant les données de ma liste.
 
Quand je mets cela EXCEL me jette en me disant :
Erreur d'exécution 1004
Erreur définie par l'application ou par l'objet
 
Est-ce que quelqu'un a une solution ?
Merci

Reply

Marsh Posté le 20-12-2004 à 10:54:43   

Reply

Marsh Posté le 20-12-2004 à 12:17:47    

c'est parce que tu tente de recréer une validation là où elle existe déja , met ce bout de code avant de créer ta validation :)
 
 
Range("A1" ).Validation.Delete

Reply

Marsh Posté le 21-12-2004 à 12:22:49    

Voila ce que j'ai mis et il me met toujours la meme erreur
 
Range("A1" ).Validation.Delete
Range("A1" ).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=" & Range("A433:A434" ).Address
 
 
Meme chose pour
With Range("A1" ).Validation  
.Delete
.Add Type:=xlValidateList, _  
AlertStyle:=xlValidAlertStop, _  
Formula1:="=" & Range("A433:A445" ).Address  
End With  
L'erreur provient de la partie .add et la suite car le .delete passe correctement
 
Si quelqu'un a une autre idée...
Est-ce une erreur de synthaxe ?
 
Merci de vos aides

Reply

Marsh Posté le 21-12-2004 à 15:09:11    

Range("A1" ).Validation.Delete  
Range("A1" ).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=" & Range("A433:A434" ).Address

 
j'ai recopié exactement ce que tu as mis et ca marche plusieurs fois d'affilé sans aucun probléme  [:mrbrelle]

Reply

Marsh Posté le 23-12-2004 à 08:56:36    

lol
ben dans ce cas je vais voir pourquoi ça ne fonctionne pas ;)
merci de m'avoir aidé :d

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed