olibelle0101
XLDnaute Occasionnel
Bien le bonjour à tous,
Ayant un fichier excel, que j'ai pu creé grace a ce forum,
J'aurais aimé travaillé avec des filtres.
J'ai :
Une feuille "saisie" avec des valeurs.
Une feuille "calcul" avec des formules.
Exemple:
=ecartrouge(Saisie!F3:G5000)
=Couleurs(Saisie!F3:G5000;3)
=NB(Saisie!F3:F5000)
Merci à tous.
Mon code VBA.
En triant avec filtre, ca ne me change pas le calcul pour ces données filtrées,
Il prend en compte toutes les valeurs, meme cachées.
Y a t-il une solution pour un calcul qu'avec les données visibles.
Mon code VBA
Option Explicit
Function EcartVert(MaPlage As Range)
Dim Cel As Range, Compteur As Long
' Permettre à la fonction de s'éxécuter à tout moment
Application.Volatile
' Initialiser le compteur
Compteur = 0
If MaPlage.Columns.Count > 2 Then
EcartVert = "#Erreur : Une Seule colonne possible"
Exit Function
End If
' Pour chaque cellule de la colonne
For Each Cel In MaPlage
If Cel.Interior.ColorIndex = 4 Then
Compteur = 0
Else
If Cel.Value <> "" Then Compteur = Compteur + 1
End If
Next Cel
EcartVert = Compteur
End Function
Ayant un fichier excel, que j'ai pu creé grace a ce forum,
J'aurais aimé travaillé avec des filtres.
J'ai :
Une feuille "saisie" avec des valeurs.
Une feuille "calcul" avec des formules.
Exemple:
=ecartrouge(Saisie!F3:G5000)
=Couleurs(Saisie!F3:G5000;3)
=NB(Saisie!F3:F5000)
Merci à tous.
Mon code VBA.
En triant avec filtre, ca ne me change pas le calcul pour ces données filtrées,
Il prend en compte toutes les valeurs, meme cachées.
Y a t-il une solution pour un calcul qu'avec les données visibles.
Mon code VBA
Option Explicit
Function EcartVert(MaPlage As Range)
Dim Cel As Range, Compteur As Long
' Permettre à la fonction de s'éxécuter à tout moment
Application.Volatile
' Initialiser le compteur
Compteur = 0
If MaPlage.Columns.Count > 2 Then
EcartVert = "#Erreur : Une Seule colonne possible"
Exit Function
End If
' Pour chaque cellule de la colonne
For Each Cel In MaPlage
If Cel.Interior.ColorIndex = 4 Then
Compteur = 0
Else
If Cel.Value <> "" Then Compteur = Compteur + 1
End If
Next Cel
EcartVert = Compteur
End Function