Attribuer à une variable le résultat d'une fonction matricielle

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 !

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

J'ai une colonne nommée "ColonneClasses" qui contient soit des chiffres, soit "" suivant les calculs qui se font dans la feuille. Pour connaître le nombre de cellules contenant des chiffres dans cette colonne j'ai utilisé une fonction matricielle. Supposons que dans la cellule A1 apparaisse ce nombre, la syntaxe sera la suivante :
{=SOMME(SI(ColonneClasses<>"";1))}

J'écris cette formule dans une macro :

Sub Macro1()
[A1].FormulaArray = "=SUM(IF(ColonneClasses<>"""",1))"
End Sub

Ça marche, dans la cellule A1 s'inscrit le résultat attendu.
Seulement je voudrais que ce résultat n'apparaisse pas dans la feuille (encombrement inutile) et soit uniquement utilisé au sein d'une macro ; donc je voudrais qu'une variable récupère ce résultat.
Comment s'y prendre ??

Merci d'avance pour l'aide.
 
Re : Attribuer à une variable le résultat d'une fonction matricielle

Bonjour,
Pourquoi une formule matricielle ?
= NB(ColonneClasses) la colonne contenant des nombres
Code:
x = Application.Count(Range("ColonneClasses"))
A+
kjin
 
Re : Attribuer à une variable le résultat d'une fonction matricielle

Bonjour à tous
Je verrais bien :
Code:
Option Explicit

Sub Macro1()
Dim x As Double
    x = Application.WorksheetFunction.CountIf(Range("ColonneClasses"), "<>")
End Sub
Pas vous ?​
Bonne soirée,
ROGER2327
 
Re : Attribuer à une variable le résultat d'une fonction matricielle

Merci Job, Roger et Kjin.

Je retiens la solution de Kjin qui me donne le résultat juste. La solution de Roger compte systématiquement TOUTES les cellules, même les vides puisque toutes contiennent une formule conditionnelle qui renvoie le résultat d'une cellule dans une colonne où l'on rentre manuellement les données. Ces données sont ensuiten traitées et récupérées dans les cellules de la colonne "ColonneClasses".

Kjin a raison : pourquoi faire compliqué quand on peut faire simple !

Bonne soirée à tous.
 
Re : Attribuer à une variable le résultat d'une fonction matricielle

ROGER2327 lit d'abord :
J'ai une colonne nommée "ColonneClasses" qui contient soit des chiffres, soit "" suivant les calculs qui se font dans la feuille.
Alors ROGER2327 écrit une procédure qui renvoie dans une variable exactement le nombre de cellules de la plage nommée "ColonneClasses" qui contiennent autre chose que "". Comme la susdite colonne contient soit des chiffres, soit "", la formule de ROGER2327 renvoie exactement le nombre de cellules qui contiennent des chiffres.
Mais ROGER2327 est très con : il ne sait pas que lorsqu'il lit
J'ai une colonne nommée "ColonneClasses" qui contient soit des chiffres, soit "" suivant les calculs qui se font dans la feuille.
il doit comprendre :
J'ai une colonne nommée "ColonneClasses" qui contient des formules qui renvoient soit des chiffres, soit "" suivant les calculs qui se font dans la feuille.
Plus tard ROGER2327 lit que sa formule est nulle puisque :
La solution de Roger compte systématiquement TOUTES les cellules, même les vides puisque toutes contiennent une formule conditionnelle...
Alors ROGER2327 comprend qu'il y a du vide vide, du vide qui contient des choses, du vide plein peut-être ?, toute sorte de vides en somme... et il rigole doucement... et il se sent beaucoup moins con... et il va voir ailleurs.​
ROGER2327
 
- 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

Retour