IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Somme de cellules non contigues variables [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Somme de cellules non contigues variables
    Bonjour à tous.

    Bon, voilà le topo :

    Je souhaite calculer la somme de toute les cellules de la même ligne dont le numéro de colonne est pair, à partir de la 2ème ligne (B2+D2+F2...).

    Mon souci c'est que le nombre de lignes sur lesquelles je veux faire ce calcul est variable, ainsi que le nombre de colonnes à prendre en compte.

    Juste pour rire, tant qu'à faire, il faudrait que ce truc se mette à jour à chaque saisie dans une des cases concernées.

    A vos cerveaux !

    Merci !

    PS : voilà ce que j'ai tenté de "moins pire" :

    http://www.developpez.net/forums/att...1&d=1288457270
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Bonjour,

    Quelques questions :
    Citation Envoyé par guillaume37 Voir le message
    Je souhaite calculer la somme de toute les cellules de la même ligne dont le numéro de colonne est pair, à partir de la 2ème ligne (B2+D2+F2...).
    Quel critère faut il utiliser pour arrêter la somme (quelle colonne)
    Dans quelle cellule souhaites tu avoir le résultat ?

    Citation Envoyé par guillaume37 Voir le message
    Mon souci c'est que le nombre de lignes sur lesquelles je veux faire ce calcul est variable, ainsi que le nombre de colonnes à prendre en compte.
    Quel critère pour détecter la dernière ligne à traiter ?

    Citation Envoyé par guillaume37 Voir le message
    Juste pour rire, tant qu'à faire, il faudrait que ce truc se mette à jour à chaque saisie dans une des cases concernées.
    et donc la solution que tu proposes à l'aide d'une formule Excel
    Donc impossible d'ajouter un élément sur une ligne
    Donc impossible d'ajouter une nouvelle ligne

    Merci pour les réponses.

    PPz
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Il s'agit de l'organisation d'un tournoi sportif.

    Le nombre de participants limite le nombre de lignes, mais aussi de colonnes (proportionnalité), c'est déjà fait. Une fois les participants inscrits, impossible de reprendre les inscriptions (d'où l'impossibilité de rajouter des lignes).

    But de ma colonne : compter le nombre de points, une colonne sur 2 (l'autre colonne indique les points de l'adversaire, j'ai déjà réglé ça). C'est pour ça que ça doit se mettre à jour tout seul (je rentre un score et automatiquement, j'ai le nombre de points du concurrent).

    Le problème c'est de réinvestir les variables que j'ai déclarées correctement en utilisant (selon moi) la fonction SOMMEPROD (SUMPRODUCT en anglais pour vba)
    Ca marche quand je le fais avec sommeprod sur une case excel, mais quand je veux faire varier mes cases, ça marche plus...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Bonjour,

    Cela serait vraiment plus simple si tu nous mettais un exemple à disposition.
    - Est ce un tournoi avec des matches aller et retour ? ou avec des élimination comme le tournoi de Rolland Garros ?
    - Une fois les participants inscrits, le nombre de colonne est déterminé, quelle est la formule ?
    - où sont inscrits les noms des participants pour ne pas se tromper dans l'écriture des scores?
    - où faut -il mettre le résultat de la somme? à droite à gauche du tableau ailleurs ?
    - à droite du tableau, il y a des zéros, on peut donc faire la somme de 2 à 256 par pas de 2 et l'affaire est dans le sac.
    A+
    PPz
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En PJ, le fichier xlsx

    Tournoi en forme de championnat, une rencontre entre 2 mêmes joueurs.
    A gauche, le nombre de sets gagnés par le joueur écrit sur la 1e colonne, à droite le nombre de sets gagnés par le joueur écrit sur la 1e ligne.

    J'ai enregistré un exemple avec 4 joueurs (a,b,c,d).

    Tout est OK, seul manque le calcul du total 1 (voir macro associée au bouton)

    Voilà...

    Encore merci de ton aide.
    Fichiers attachés Fichiers attachés

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'ai trouvé une solution (peut-être pas la meilleure mais bon...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
           j = NbColonnes
            For i = 2 To NbLignes
                'Calculer la somme des cellules des colonnes paires
                Cells(i, NbColonnes).Formula = "=SUMPRODUCT((MOD(COLUMN(" & Cells(i, 2).Address & ":" & Cells(i, j - 2).Address & "),2)=0)*(" & Cells(i, 2).Address & ":" & Cells(i, j - 2).Address & "))"
            j = j - 2
            Next i
    Encore merci pour l'aide apportée !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Re

    Comme je n'ai qu'Excel 2003 je ne peux pas lire ton fichier.
    A+

    PPz
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Probleme sélection plages de cellules non contigues
    Par Blusky dans le forum Excel
    Réponses: 4
    Dernier message: 27/03/2010, 22h10
  2. [XL-2003] trouver la dernière cellule d'une plage de cellules non contigues.
    Par henripec dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2009, 01h16
  3. Camembert avec série de cellules non contigues
    Par melouille56 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/10/2008, 18h36
  4. cellule non assignée, variable NaN?
    Par gritchou dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/04/2008, 16h45
  5. Somme des cellules non vides en VBA
    Par baldg dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/03/2008, 00h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo