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

lister les ListeValidation/Formules

Roland_M

XLDnaute Barbatruc
Bien le bonjour à tous,

je ne suis pas très bon en formule et j'ai besoin d'une petite explication
ce petit utilitaire me permet de lister ListeValidation/Formules
Code:
Private Sub UtilitPerso1()
On Error Resume Next
Dim Cell As Range
'listes validation
For Each Cell In ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation)
 If Cell.Validation.Formula1 > "" Then
    Debug.Print "'" & Cell.Address & Cell.Validation.Formula1
 End If
Next
'les formules
For Each Cell In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
 If Cell.FormulaLocal > "" Then
    Debug.Print "'" & Cell.Address & Cell.FormulaLocal
 End If
Next
End Sub
-- j'ai listes de validation
S2=DATA_ChefPause
V2=Z62:Z67
S3=DATA_ChefArche
V3=X62:X71
-- ou les formules
AB45=SIERREUR((W45*W37)/(V45*Z45);0)
AB47=Y47/AA47
AB50=SIERREUR(AB48;0)
:::
>>>>> JUSQUE LÀ C'EST OK !


>>>>> Vient ma question, que signifie ce qui suit qui se produit quand il a des formules avec cette même boucle
Code:
'listes validation
For Each Cell In ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation)
 If Cell.Validation.Formula1 > "" Then
    Debug.Print "'" & Cell.Address & Cell.Validation.Formula1
 End If
Next
alors que je n'ai RIEN dans ces cellules ! questions:
c'est toujours =ET(.......) >>>> que signifie ceci ? (alors qu'il n'y a pas de formule)
avec une cellule exp'C346 >>>> que signifie ceci ? (une cellule seule !?)

'C29=ET(B29>0;L18>0;L19>0;C19>0)
'C30=ET(B30>0;L18>0;L19>0;C19>0)
'C346
'C356
'C39=ET(B39>0;L34>0;L35>0;C35>0)
'C40=ET(B40>0;L34>0;L35>0;C35>0)
:::
 
Dernière édition:

Theze

XLDnaute Occasionnel
Re : lister les ListeValidation/Formules

Bonjour,

la feuille active entière est prise en considération pour le parcours c'est à dire toutes les cellules et le test :
Code:
If Range(Cell.Address).Row > 100 Then
qui peut être simplifié :
Code:
If Cell.Row > 100 Then
permet de sortir de la boucle arrivé à la ligne 101 (A101) donc, comme le parcours se fait par ligne, la plage scannée va de A1 à la dernière colonne de la ligne 100
La différence entre les deux procs c'est que la première cible seulement les cellules ayant une liste de validation ou une formule alors que l'autre parcours toutes les cellules sans distinction mais dans ce dernier cas, il faut gérer les erreurs !
Le premier code est le plus propre.
 

Roland_M

XLDnaute Barbatruc
Re : lister les ListeValidation/Formules

bonjour theze et merci de ton intervention !

mais ça je sais, car c'est moi qui a créé ces fonctions, ce n'est pas le problème j'ai bien compris !

mais c'est plutôt ceci qui m'intéresse, concernant la boucle avec test de lig >100

j'ai bien les listes de validation, mais aussi ce qui suit,
alors que je n'ai RIEN dans ces cellules ! questions:
c'est toujours =ET(.......) >>>> que signifie ceci ? (alors qu'il n'y a pas de formule)
avec une cellule exp'C346 >>>> que signifie ceci ? (une cellule seule !?)

'C29=ET(B29>0;L18>0;L19>0;C19>0)
'C30=ET(B30>0;L18>0;L19>0;C19>0)
'C346
'C356
'C39=ET(B39>0;L34>0;L35>0;C35>0)
'C40=ET(B40>0;L34>0;L35>0;C35>0)
:::
 

Roland_M

XLDnaute Barbatruc
Re : lister les ListeValidation/Formules

re

oui bien entendu ! si tu as une liste elle apparaît ou pas s'il n'y en a pas ! ça c'est ok !

mais s'il y a aussi des formules c'est ce qui se produit !
car j'ai oublié de préciser que sur les feuilles en question il y a aussi des formules
qui donnent le fameux résultat et qui m'interpelle, car je ne comprend pas le sens !?

'C29=ET(B29>0;L18>0;L19>0;C19>0)
'C346
'C39=ET(B39>0;L34>0;L35>0;C35>0)
:::

que signifie ceci !? je n'arrive pas à traduire ça, d'autant qu'il n'y a pas formule dans ces cellules
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…