Plage Dynamique dans SOMMEPROD

Bonjour à tous!

J'ai la formule suivante " SOMMEPROD(($C$6:$BO$6)*(C10:BO10)) ", j'aurai aimer rendre la plage de données dynamique, c'est à dire, est-il possible que la formule ne soit appliquée que sur les colonnes affichées et non pas les colonnes masquées.

Merci à tous.

Bonjour,

Connais-tu la fonction SOUS.TOTAL?

Elle permet de faire des sommes, produits, etc, en ne prenant en compte que les données affichées par un filtre etc, c'est ce qu'il te faut d'après moi!

J'aurais bien essayé de l'utiliser sur ton fichier mais comme tu ne l'as pas joint

Bonjour Ausecour !

Je vais vous poster mon classeur, le temps de préparer une version d'éssai.

A tout de suite.

Re Bonjour!

La classeur en pièce jointe.

Bonjour,

Malheureusement la fonction sous.total ne va pas faire l'affaire, j'ai essayé de créer une fonction du type ESTCACHE mais je ne comprends pas trop la propriété HIDDEN qui ne semble pas fonctionner...

Je continue de regarder ça demain, je te passe le fichier si tu veux regarder, desfois que tu trouves.

Bonjour!

Merci pour votre réponse, je pose la question différemment, comment peut-on définir une plage dynamique à insérer dans la formule ?

Merci encore.

Cordialement.

bonjour à tous

il FAUT mettre la zone de données "sous forme de tableau" (c'est dans le menu n°1 d'Excel, c'est une fonction de base)

et mettre les SOMMEPROD sur une autre feuille

la zone est alors dynamique et les formules aussi

pourquoi masquer des SOMMEPROD ?

pas de VBA

Bonjour jmd ;

Pouvez vous vous servir du classeur pour illuster un exemple, en fait sommeprod sera calculée que sur les colonnes apparentes et non masquées

Merci à vous.

Bonjour,

Je reviens à la charge avec une maccro qui marche cette fois, la fonction ESTCACHE renvoie 1 si la cellule que l'on teste se trouve sur une ligne ou colonne masquée.

J'utilise ça sur les cellules de C3 à BA3 et j'y soustrais à 1.

J'ai rajouté la plage C6:BA6 à SOMMEPROD pour que si la colonne C est cachée par exemple, la cellule C3 renvoie 0, et que le Sommeprod calcule 0 pour cette colonne. Tu peux tester ça marche bien maintenant.

Bonjour Ausecour !

Merci infiniment pour votre aide, les résultats ne sont pas juste, exemple, quand je choisi le tupe2 dans la liste de validation, en principe j'ai su la cellule BB11 100.000, alors que le résultat est zéro.

Merci à vous.

Bonjour

Code Module

Sub Besoins()
Dim Plage1 As Range, Plage2 As Range
Range("C6:BA6").SpecialCells(xlCellTypeVisible).Select
ActiveWorkbook.Names.Add Name:="Plage1", RefersToR1C1:=Selection
ActiveWorkbook.Names.Add Name:="Plage2", RefersToR1C1:= _
        "=OFFSET(Plage1,ROW()-6,0)"
Range("BB10").FormulaR1C1 = "=SUMPRODUCT((Plage1)*((Plage2)))"
Range("BB10").Select
End Sub

Cordialement

Bonjour Amadéus!

En premier je suis désolé de n'avoir pu consulter votre réponse avant, merci aussi pour votre aide.

Le calcul de besoin devrait se faire en fonction du choix dans la liste.

Merci à vous, Cordialement!

Bonjour Ausecour !

Merci infiniment pour votre aide, les résultats ne sont pas juste, exemple, quand je choisi le tupe2 dans la liste de validation, en principe j'ai su la cellule BB11 100.000, alors que le résultat est zéro.

Merci à vous.

Bonjour,

J'ai checké pour voir si ça marchait ou non, en effet, il semble que le résultat est faux, sauf que je suis allé dans le tableau pour relancer le calcul, et c'est bien 100 000 qui s'est affiché dans le tableau, je pensé que le problème de la mise à jour des valeurs vient peut-être du fait que les colonnes sont masquées par une macro. Quand la tiennes (qui masque les cellules) se lance, elle ne met pas à jour les valeurs. En plus, j'ai remarqué qu'elle buguait, j'ai voulu prendre les colonnes de Type 1 avec ta liste déroulante, puis mettre à jour les valeurs en rentrant dans une cellule et en validant avec Entrée, et ta macro a masqué toutes les colonnes, même celles de Type 1.

Il faudrait la modifier pour qu'elle calcule la feuille après avoir tout masqué par exemple.

Il te suffit de rajouter ça en fin de macro :

ActiveSheet.Calculate

Bonjour à Tous; Bonjour Ausecour!

Vous Serait-il possible de me transmettre un essai sur le classeur, j'ai opérer les modifications mais le résultat est toujours faux, en plus quand je prend la proposition de Amadéus, le filtre ne fonctionne plus.

Merci à vous.

Bonjour jmd ;

Pouvez vous vous servir du classeur pour illuster un exemple, en fait sommeprod sera calculée que sur les colonnes apparentes et non masquées

Merci à vous.

bonjour

les SOMMEPROD tout comme les TCD sont des fonctionnalités qui ne tiennent pas compte des lignes masquées, tout simplement parce qu'elles ont un système de filtrage beaucoup plus puissant et bien plus pratique.

je ne masque des lignes dans Excel que pour faire des saisies, jamais pour faire des calculs

je te conseille de faire de même.

tout devient bien plus simple

pas de VBA

Bonjour

Hosni, j'ai juste bloqué le second Private Sub de la feuille pour pouvoir tester mon code.

il suffit d'ôter l'apostrophe en début de ligne.

Cordialement

Bonjour Amadéus; Bonjour Jmd

Merci à vous Amadéus, effectivement je l'ai fais, aussi merci à Jmd pour sa précision, je pense que vais choisir une autre conception de mes données pour pour arriver à mon résultat.

Je clôture le post.

Merci à tous pour votre aide.

Rechercher des sujets similaires à "plage dynamique sommeprod"