Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA - Vérifier la présence d'une liste de validation

Troudz

XLDnaute Occasionnel
Bonjour,

Je voudrais pouvoir tester la présence d'une liste de validation dans une cellule à l'aide d'une macro mais je ne trouve pas la bonne syntaxe.

J'ai testé :
Code:
If .Cells(1,1).Validation Type = xlValidateList Then
et
Code:
If .Cells(1,1).Validation.Type = xlValidateList Then
mais aucun ne fonctionne. Auriez vous une idée sur la façon d'effectuer ce test ?

Je vous remercie par avance de votre aide
 

natorp

XLDnaute Accro
Re : VBA - Vérifier la présence d'une liste de validation

Bjr Troudz,

en s'inspirant de ça, trouvé sur le net par Silkyroad :

Code:
Sub Test()
    'Vérifie si la cellule B1 contient une liste de validation.
    MsgBox ValidationExiste(Range("B1"))
End Sub
 
 
Function ValidationExiste(Cell As Range) As Boolean
    Dim Cible As Range
 
    On Error Resume Next
    'Définit toutes les cellules contenant une liste de validation dans la feuille active.
    Set Cible = ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation)
    On Error GoTo 0
 
    If Not Cible Is Nothing Then
        If Not Intersect(Cible, Cell) Is Nothing Then
            ValidationExiste = True
            Else
            ValidationExiste = False
        End If
    Else
        ValidationExiste = False
    End If
End Function

Cordialement, Gérard
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : VBA - Vérifier la présence d'une liste de validation

Bonjour,

Peut être ça.

Code:
Function estListe(c As Range)
  On Error Resume Next
  tmp = c.Validation.Formula1
  estListe = (Err = 0)
End Function

JB
 

Discussions similaires

Réponses
7
Affichages
404
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…