aide sur formule avec masquage

  • Initiateur de la discussion Initiateur de la discussion zumye
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zumye

XLDnaute Occasionnel
bonjour le forum

est il possible de modifier cette formule sans passer par du vba:
=NB.SI(Z17:Z65536;"P")

cette formule compte le nombre de P dans ma colonne Z
mon probleme est que ceci compte même les P qui sont masqués.
je voudrais juste que la formule me permette de compter le nombre de P visibles.

merci
 
Re : aide sur formule avec masquage

Re,

Fonction à coller dans un module :

Code:
Function NB_SI_VISIBLE(Plage As Range, Valeur As String) As Long
Dim Cellule As Range
    Application.Volatile
    NB_SI_VISIBLE = 0
    For Each Cellule In Plage
        If Cellule.Value Like Valeur And Cellule.RowHeight <> 0 And Cellule.ColumnWidth <> 0 Then _
            NB_SI_VISIBLE = NB_SI_VISIBLE + 1
    Next Cellule
End Function

tu peux ensuite appeler la fonction comme ça dans la feuille de calcul :

Code:
=nb_si_visible(A2:A35;"P")
 
Re : aide sur formule avec masquage

Bonjour zumye, salut tototiti,

Puisque tu le suggères tototiti 🙂, voici une solution avec une macro fonction Excel 4.0. Mais il faut une colonne supplémentaire.

On suppose les P à rechercher dans la plage A1:A100.

1) La cellule A1 étant sélectionnée, définir le nom Visible (menu Insertion-Nom) avec la formule :

=LIRE.CELLULE(17;A1)>0

2) Entrer en B1 la formule =Visible et tirer vers le bas.

3) Le nombre de P visibles est donné par la formule :

=SOMMEPROD((A1:A100="P")*B1:B100)

NB : LIRE.CELLULE(17) donne la hauteur de la ligne en points.

EDITION 1 :

On peut aussi définir Visible par :

=SIGNE(LIRE.CELLULE(17;A1))

et calculer le nombre de P visibles par :

=SOMME.SI(A:A;"P";B:B)

EDITION 2 : la largeur d'une cellule se détermine par =LIRE.CELLULE(44)-LIRE.CELLULE(42) je vous laisse faire...

A+
 
Dernière édition:
Re : aide sur formule avec masquage

Bonjour à tous,

Mon code VBa est "lent" à s'éxecuter car il s'agit d'une fonction Volatile, c'est à dire qui se recalcule à chaque changement de valeur dans le classeur (peut-être même des autres classeurs ouverts). D'autre part tout dépend de la taille de la plage que tu testes et du nombre de fonctions NB_SI_VISIBLE que tu as mis dans ta feuille...

Essaye peut être la solution de job75, elle n'a peut-être pas ces défauts...
 
Re : aide sur formule avec masquage

bonjour tototiti

j'ai adapter comme ceci et ca va plus vite:

Function NB_SI_VISIBLE(Plage As Range, Valeur As String) As Long
Application.ScreenUpdating = False
Dim Cellule As Range
Application.Volatile
NB_SI_VISIBLE = 0


For Each Cellule In Plage
If Cellule.Value <> "" And Rows(Cellule.Row).Hidden = False Then NB_SI_VISIBLE = NB_SI_VISIBLE + 1
Next Cellule

End Function


mais peut on limiter la zone de recherche a la colonne z
peut on ecrire un truc du genre for each cellule in plage (ou la plage serai z15 a z3000) comme dans la formule
c'est ma 2 eme fonction que j'utilise pour 10 feuilles pour repondre a ta question
 
Re : aide sur formule avec masquage

Re,

Application.ScreenUpdating = False

ne marche pas dans une fonction, autant que je sache...

mais peut on limiter la zone de recherche a la colonne z

Tout dépend de la plage que tu mets dans ta formule dans la feuille de calcul. Il ne boucle que sur ces cellules là, de toute façon...

j'ai egalement retiré Application.Volatile

en effet, ça a l'air de fonctionner sans...


j'ai adapter comme ceci et ca va plus vite

oui mais là il ne recherche plus les valeurs "P" mais il compte simplement les cellules non vides... c'est ce que tu veux ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
396
  • Question Question
Microsoft 365 formule countif
Réponses
5
Affichages
586
Retour