Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

SUMPRODUCT pb avec plage variable

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

HeyManu

XLDnaute Nouveau
Bonjour,

Tout d'abord, merci d'avance à ceux ou cells 🙂D celles) qui répondront à mon problème!

J'ai dans une feuille des valeurs, genre:

colonne A/colonne B
nb jours : 3
total : 500
nb jours : 23
total : 5000
nb jours : 10
total : 2500
... ...

Je voudrais afficher le résultat et la formule dans une cellule mais en faisant la somme 1 cellule sur 2, sachant que les lignes vont de pairs (c'est à dire qu'à chaque fois il y a "nb de jours" et "total"). Ici le total serais de 8000.

En le faisant sur excel ca donnait : = SOMMEPROD(B1:B6*(MOD(LIGNE(B1:B6);2))) et ca me donnait le bon résultat.
Maintenant je veux le mettre sous forme vba car je le contrôlerais via un bouton car la plage sera plus ou moins grande selon mes chiffres (i sera ma variable)

Pour l'instant j'ai le code suivant, mais j'ai une erreur 1004:

Private Sub CommandButton1_Click()

Dim plage As Range

i = Worksheets("chiffrage au mois").Cells(2, 15).Value 'ma variable

Set plage = Worksheets("Feuil1").Range(Cells(1, 2), Cells(1 + i , 2))

Worksheets("feuil1").Cells(1, 3).FormulaLocal = "=SUMPRODUCT( " & plage.Address & "* (MOD(ROW(" & plage.Address & ",2)))"

End Sub


Le problème vient de ma formule mais là à vrai dire je bloque.

Pr info : Ma première valeur sera toujours à la même place

Merci de l'aide que vous allez me fournir

Cdlt
 
Re : SUMPRODUCT pb avec plage variable

Bonjour et bienvenue sur le forum,

Pourquoi ne pas créer une zone nommée Dynamique?
Insertion/Nom définir
Nom: Zone
fait référence à : =DECALER(Feuil1!$B$1;;;NBVAL(Feuil1!B:B))

Fait ensuite -référence à 'Zone' dans tes formules

A+
 
Re : SUMPRODUCT pb avec plage variable

Bonjour et merci d'avoir pris un peu de temps pour me répondre, cependant j'ai essayé vos solutions sans résultat.

Pour mieux me faire comprendre je vous envoie un fichier exemple.

Vous verrez surement mieux mon problème

Merci
 

Pièces jointes

Re : SUMPRODUCT pb avec plage variable

Bonjour,

Sans VBA (formule)
Code:
=SOMMEPROD(DECALER($B$2;0;0;2*$J$1);(MOD(LIGNE(DECALER($B$2;0;0;2*$J$1));2)))

Avec VBA:

VB:
Private Sub CommandButton1_Click()
Dim plage As Range
i = Worksheets("feuil1").Cells(1, 10).Value
If i > 0 Then
Set plage = Worksheets("Feuil1").Range(Cells(2, 2), Cells(1 + (2 * i), 2))
Worksheets("feuil1").Cells(9, 2).Formula = "=SUMPRODUCT(" & plage.Address & " *(MOD(ROW(" & plage.Address & "),2)))"
End If
End Sub
A+
 
Dernière modification par un modérateur:
Re : SUMPRODUCT pb avec plage variable

Bonjour,

Autant pour moi, mon fichier n'etait pas complet!
Ma variable i représente un groupe de 2 lignes à chaque fois, donc dans l'exemple vu qu'il y a 6 lignes, i = 3. Car mon fichier de base fait référence à un PC, si je l'utilise 3 jours dans le mois ca me fait un total etc.. J'ai remis le fichier avec plus de détails

Donc c'est ma variable qui détermine la grandeur de plage (i=2 --> 4 lignes, i=9 --> 18 lignes,...). Et je voudrais justement l'inclure dans le calcul sommeproduct car d'un mois à l'autre mon parc infos peut changer
 

Pièces jointes

Re : SUMPRODUCT pb avec plage variable

Ca fonctionne super bien, Par contre un dernier truc, comment enlever les $ dans la cellule total tout en bas, car quand j'insere une ligne en haut ca ne me décalle pas les valeurs.

Encore merci Hasco
 
Re : SUMPRODUCT pb avec plage variable

Re,

Oui ca je le sais, ce que je demandais c'est, comment les enlever dans la formule en VBA?

Désolé de mal m'exprimer et de ne pas être assez précis.
 
Re : SUMPRODUCT pb avec plage variable

Re,

Précision, précision dans les demandes...

Remplacer
Code:
plage.Address
Par
Code:
plage.Address(0,0)

Utiliser l'aide excel.

A+
 
- 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
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…