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 !?)
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.
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 !?)
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 !?