VBA tester range validation

chris

XLDnaute Barbatruc
Bonjour
Quelqu'un sait-il comment tester en VBA si une validation (DOnnées validation) est associé à une cellule ?
Dans le cas où il y a une validation j'arrive à tester mais dans le cas contraire je ne sais quel test utiliser car cela me renvoie toujours une erreur.
Merci
 

MichelXld

XLDnaute Barbatruc
bonjour chere Chris , bonjour JP

sans garantie ( je n'ai pas testé tous les cas de figure) je te propose cette macro pour vérifier s'il y a une validation dans la cellule A1

Sub controlePresenceValidation()
Dim Vl As Range

On Error Resume Next
Set Vl = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo Fin

If Not Intersect(Vl, Range('A1')) Is Nothing Then
MsgBox 'Il y a une Validation dans la cellule'
Else
MsgBox 'Il n'y a pas de validation dans la cellule'
End If

Exit Sub
Fin:
MsgBox 'Il n'y a pas de validation dans la feuille'
End Sub



bon apres midi
MichelXld

Message édité par: michelxld, à: 19/02/2006 15:29
 

chris

XLDnaute Barbatruc
Bonjour Michel et merci
Je vais tester cela.
En attendant je m'en suis sortie par une pirouette :
je remplis la cellule puis je teste si c'est conforme à la validation et si non, je rétablis la valeur d'origine.
J'ai utilisé
if Range.Validation.Value = False

(quand je ne trouve pas la porte, j'essayes la fenêtre !)

Bonne soirée.
 

Discussions similaires