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 :

Syntaxe pour une somme de cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Points : 105
    Points
    105
    Par défaut Syntaxe pour une somme de cellules
    Bonjour a tous,

    J'ai besoin de faire la somme des pourcentages situes dans la colonne C lorsque la valeur de la colonne D est la meme dans le but de calculer le pourcentage moyen de l'ensemble.

    Mon probleme est que je n'arrive pas a exprimer la somme d'une plage continue de cellule dont la taille varie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    For Zeile = 2 To LetzteZeile
        If PSP.Cells(Zeile, 4).Value = PSP.Cells(Zeile + 1, 4).Value Then
     
            cmpt = Zeile
     
            While PSP.Cells(cmpt, 4) = PSP.Cells(cmpt + 1, 4)
                coef = coef + 1
                cmpt = cmpt + 1
            Wend
           PSP.Cells(cmpt, 8).Formula = Cells(Zeile, 3).Value + Cells(cmpt, 3).Value
           PSP.Cells(cmpt, 8).Copy
            PSP.Cells(cmpt, 8).PasteSpecial xlPasteValues
            PSP.Cells(cmpt, 7).Value = coef
            PSP.Cells(cmpt, 6).Value = PSP.Cells(cmpt, 8).Value / coef
            coef = 1
            Zeile = cmpt
            Somme = 0
     
        Else: PSP.Cells(Zeile, 6).Value = PSP.Cells(Zeile, 3).Value
     
        End If
    Next Zeile
    End Sub
    Avec ce code, je ne fais la somme que de la premiere et de la derniere valeur(ce qui est logiaue vu ce qui est ecrit).
    J'ai essaye de calquer mon programme sur la syntaxe que j'avais trouve en faisant une recherche, mais ca m'affiche des erreurs :
    Range(C2:C20).Formula = "a2+b2"
    Range(C2.C20).Copy
    Range(C2:c20).PasteSpecial xlPasteValues

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(C2:C20).Formula = "a2+b2"
    dans tous tes ranges pense à mettre des "" et à mon avis il manque un = à la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("C2:C20").Formula = "=a2+b2"
    Range("C2:C20").Copy
    Range("C2:c20").PasteSpecial xlPasteValues
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  3. #3
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Points : 105
    Points
    105
    Par défaut
    Tu as effectivement raison, je recopiais ce qui m'avais inspire de memoire.

    Mon probleme est que je veux le resultat de ma somme dans une seule cellule. Dans l'exemple que j'avais trouve sur le forum, la personne voulait sur la meme ligne afficher dans la colonne C le resultat de la somme des colonne A et B.

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    si c'est la somme des cellules A2:B20 que tu veux dans une cellule (ex : C2) essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("C2").Formula = "=SUM(A2:B20)"
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

  5. #5
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2010
    Messages : 125
    Points : 105
    Points
    105
    Par défaut
    Hmmm sauf que mes cellules je ne peux les exprimer que comme ca vu que c'est au sein d'une boucle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=SUM(Cells(Zeile,3):Cells(cmpt,3)"
    Voila ce que j'ai ecrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    For Zeile = 2 To LetzteZeile
        If PSP.Cells(Zeile, 4).Value = PSP.Cells(Zeile + 1, 4).Value Then
     
            cmpt = Zeile
     
            While PSP.Cells(cmpt, 4) = PSP.Cells(cmpt + 1, 4)
                coef = coef + 1
                cmpt = cmpt + 1
            Wend
           PSP.Cells(cmpt, 8).Formula = "=SUM(Cells(Zeile, 3):Cells(cmpt, 3))"
           PSP.Cells(cmpt, 8).Copy
            PSP.Cells(cmpt, 8).PasteSpecial xlPasteValues
            PSP.Cells(cmpt, 7).Value = coef
            PSP.Cells(cmpt, 6) = PSP.Cells(cmpt, 8) / coef
            coef = 1
            Zeile = cmpt
            Somme = 0
     
        Else: PSP.Cells(Zeile, 6).Value = PSP.Cells(Zeile, 3).Value
     
        End If
    Next Zeile
    Mais ca ne m'affiche qu'une erreur dans la premiere case ou le Else ne s'execute pas avant que le compilateur ne detecte une erreur

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    tu as inclus entre guillemet les adresses.

    remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PSP.Cells(cmpt, 8).Formula = "=SUM(Cells(Zeile, 3):Cells(cmpt, 3))"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PSP.Cells(cmpt, 8).Formula = "=SUM(" & Cells(Zeile, 3).Address & ":" & Cells(cmpt, 3).Address & ")"
    Cordialement.

    N'oubliez pas de cliquer sur Résolu quand vous avez obtenu la réponse à votre question.
    Citation
    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres » - Anonyme
    Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer

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

Discussions similaires

  1. Pb de syntaxe pour une procedure stockée
    Par mambe74 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/07/2007, 15h45
  2. problème de syntaxe pour une fonction
    Par gero123 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 27/07/2007, 12h11
  3. Syntaxe pour une jointure
    Par alexandra dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/09/2006, 16h44
  4. Syntaxe pour une recherche sur 2 listes déroutantes
    Par christ-94 dans le forum Access
    Réponses: 2
    Dernier message: 24/05/2006, 17h51
  5. Réponses: 8
    Dernier message: 02/05/2006, 16h07

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