XL 2010 SommeProd VBA avec variables

  • Initiateur de la discussion Initiateur de la discussion lutha
  • 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 !

lutha

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin de vos lumières sur une formulation en VBA.

Contexte: Je voudrais dans la feuille "Indicateur" que en appuyant sur un bouton les calculs se fassent (un peu comme un TCD)

La formule en excel: =SOMMEPROD(SI(mois=10;(1/NB.SI('MRE Manuel'!F3:F1007;'MRE Manuel'!F3:F1007)))) (à valider en matricelle)

mois=10 étant le mois demandé via le bouton => Critére
La plage de donnée F3 à f1007 concerne les données à compter sans les doublons.

Sachant que la plage est amené à etre variable j'ai fais la formule sous VBA en intégrant les variables.

Voilà ce que j'ai sur VBA

Code:
Sub Macro3()

Sheets("MRE Manuel").Select

Dernligne = Range("f" & Rows.Count).End(xlUp).Row
PremLigne = Range("f3").Row
Dernlignec = Range("c" & Rows.Count).End(xlUp).Row
PremLignec = Range("c3").Row

Sheets("Indicateurs").Select

resultat = InputBox("Quel mois voulez vous mettre à jour ?", "Choisir le mois", "Mois en nombre")
Cellule = resultat + 4
Range("f" & Cellule).Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT(IF('MRE Manuel'!R" & PremLignec & "'MRE Manuel'!C:'MRE Manuel'!R" & Dernlignec & "'MRE Manuel'!C=resultat,1/COUNTIF('MRE Manuel'!R" & PremLigne & "'MRE Manuel'!C:'MRE Manuel'!R" & Dernligne & "'MRE Manuel'!C,'MRE Manuel'!R" & PremLigne & "'MRE Manuel'!C:'MRE Manuel'!R" & Dernligne & "'MRE Manuel'!C))"


End Sub

Le soucis: la partie de la formule ne fonctionne pas et je n'arrive pas à savoir pourquoi. De plus je ne sais pas trop comment la passer en matricielle.

Je vous met un fichier en PJ pour aider.

Merci !
 

Pièces jointes

Salut,
Quel résultat veux-tu sortir de ta formule ??

Premier point :
.FormulaR1C1: c'est pour taper des formules en relatif
.Formula: comme tu as utilisé (en anglais)
.FormulaLocal: en fr

Deuxieme point, pourquoi le veux-tu en matricielle ?
J'aurai surement la reponse, via ma premiere question

++
 
Finalement j'ai trouvé quelque chose de plus simple. (Prendre du recul ça aide...😉)

Je garde la formule excel en mettant mes plages en dynamique
=SOMMEPROD(SI(mois=10;(1/NB.SI(chauffeur;chauffeur))))

La plage étant nommée avec ette formule: =DECALER('MRE Manuel'!$F$2;1;0;NBVAL('MRE Manuel'!$F:$F)-1;1)

Le seul soucis qu'il me reste c'est que c'est pas tellement fiable, je me demande si ce n'est pas parce que c'est des valeurs et non des nombres.

Par exemple j'ai 47.22 en résultat et si j'ajoute une ligne il met 47.27... au lieu de 48 par exemple.

Avez vous une idée du problème ?

Merci 🙂
 
Salut,
Quel résultat veux-tu sortir de ta formule ??

Premier point :
.FormulaR1C1: c'est pour taper des formules en relatif
.Formula: comme tu as utilisé (en anglais)
.FormulaLocal: en fr

Deuxieme point, pourquoi le veux-tu en matricielle ?
J'aurai surement la reponse, via ma premiere question

++

Salut !
J'ai oublie de préciser le résultat efffectivement... Le but est de compter le nombre de chauffeur par mois. Par exemple combien au mois de juillet (sans compter les doublons (plusieurs lignes par jour avec le même chauffeur)

ex: en PJ



Je le voulais en matiricelle car j'ai lu que la formule en excel devait être valider en matricielle pour fonctionner, donc je suppose que je dois le répercuter en VBA. (je ne connais pas grand chose en matricielle)

D'après toi je ferais mieux de prendre FormulaLocal au vu de mes références ?

Sinon entre temps j'ai trouvé une solution sans VBA mais elle marche pas très bien non plus 😕 (voir message ci dessous)

Merci de ta réponse
 

Pièces jointes

- 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
455
Réponses
4
Affichages
332
Réponses
12
Affichages
468
Réponses
2
Affichages
214
Retour