Pb transposition =SOMMEPROD(1/NB.SI(A1:A38;A1:A38)) en VBA
Résolu/Fermé
VBACripteur
Messages postés
4
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
14 mai 2013
-
14 mai 2013 à 10:12
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 14 mai 2013 à 14:55
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 14 mai 2013 à 14:55
A voir également:
- Pb transposition =SOMMEPROD(1/NB.SI(A1:A38;A1:A38)) en VBA
- Nb.si en anglais - Guide
- Nb.si ne fonctionne pas ✓ - Forum Excel
- Nb.si couleur - Guide
- Nb.si différent de ✓ - Forum Excel
- Poster a1 powerpoint ✓ - Forum Powerpoint
2 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 14/05/2013 à 12:33
Modifié par michel_m le 14/05/2013 à 12:33
Bonjour
sommeprod n'est pas la bonne fonction mais ca marche quand m^me
2 manières pour utiliser des matricielles en VBA
evaluate est à utiliser si on utilise des variables
Michel
sommeprod n'est pas la bonne fonction mais ca marche quand m^me
2 manières pour utiliser des matricielles en VBA
evaluate est à utiliser si on utilise des variables
Sub xxxx() MsgBox Evaluate("sum(1/countif(A1:A38,A1:A38))") MsgBox [sum(1/countif(A1:A38,A1:A38))] End Sub
Michel
VBACripteur
Messages postés
4
Date d'inscription
jeudi 22 novembre 2012
Statut
Membre
Dernière intervention
14 mai 2013
14 mai 2013 à 13:56
14 mai 2013 à 13:56
Bonjour michel_m
Effectivement avec Evaluate("sum(1/countif(A1:A38,A1:A38))") j'ai bien le bon résultat mais en déclarant vEval comme int car le Evaluate me donne 5.999999999 alors que ce que je recherche c'est bien 6
En déclarant un int, le résultat est bien arrondi à 6.
Par contre, étant de nature curieuse,... peux-tu me dire pourquoi SOMMEPROD n'est pas la bonne fonction mais qui fonctionne quand même (mais pas dans mon exemple) ?
Effectivement avec Evaluate("sum(1/countif(A1:A38,A1:A38))") j'ai bien le bon résultat mais en déclarant vEval comme int car le Evaluate me donne 5.999999999 alors que ce que je recherche c'est bien 6
En déclarant un int, le résultat est bien arrondi à 6.
Par contre, étant de nature curieuse,... peux-tu me dire pourquoi SOMMEPROD n'est pas la bonne fonction mais qui fonctionne quand même (mais pas dans mon exemple) ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
14 mai 2013 à 14:55
14 mai 2013 à 14:55
Le but d'un sommeprod est de multiplier les conditions réussies -une condition réussie renvoie Vrai soit 1- et faire la somme de la colonne des valeurs des lignes réussies
ce qui pas le cas dans la formule de dénombrement car on fait "simplement" la somme inverse des nb.si: il n'y a donc pas de "prod" et somme suffit
marque résolu merci et bon après-midi
ce qui pas le cas dans la formule de dénombrement car on fait "simplement" la somme inverse des nb.si: il n'y a donc pas de "prod" et somme suffit
marque résolu merci et bon après-midi