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 :

Problème Sumif et boucle [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut Problème Sumif et boucle
    Bonjour,
    Je commence en VBA, mais je compte bien comprendre tout ce que je fait. Les explications accompagnant les codes sont donc les bienvenues!

    Donc j'ai une fonction associé à un bouton, qui fonctionne si je suis dans visual basic éditor, et que ma page active est "Sommaire".

    Aussi, j'aimerais créer une boucle qui exécutera mes "Sumif" pour les cellules
    D6 à U.... jusqu'à la dernière ligne contenant une valeur dans la colonne A

    Je vous remercie à l'avance pour votre aide!!!

    Pascal

    Voici mon code :
    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
     
    Sub CommandButton19_Click()
     
        Dim TotalVar As Long     
        Worksheets("Sommaire").Range("D6").Select 
        With ActiveCell
     
            ActiveCell.Offset(1, 0).Range("A1").Select
            ActiveCell.Value = WorksheetFunction.SumIf(Worksheets("Données").Columns("C"), "=" & Worksheets("Sommaire").Range("A7"), Worksheets("Données").Columns("F"))
            .Offset(2, 0).Range("A1").Select
            ActiveCell.Value = WorksheetFunction.SumIf(Worksheets("Données").Columns("C"), "=" & Worksheets("Sommaire").Range("A8"), Worksheets("Données").Columns("F"))
     
            ActiveCell.Offset(-1, 1).Range("A1").Select
            ActiveCell.Value = WorksheetFunction.SumIf(Worksheets("Données").Columns("C"), "=" & Worksheets("Sommaire").Range("A7"), Worksheets("Données").Columns("G"))
     
            TotalVar = .Value
        End With
     
        End Sub

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

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

    "Sulif" c'est quoi au juste ?

    Et finalement que souhaites tu faire?

    PPz

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut Pascal415 et le forum
    Je commence en VBA, mais je compte bien comprendre tout ce que je fais.
    Ça c'est la bonne option.
    Commence par supprimer les Select/ActiveCell, qui parsème ton code.

    Déclarer ses variables présente plein d'avantages, tu déclares TotalVar en long, bien, mais c'est la dernière instruction de ta macro. Elle sert à quoi alors ?

    Quand à ton code, il faudrait savoir ce que tu en attends.
    Tu utilises une fonction de feuille pour calculer la somme des cellules de "données" des colonnes F & G dont la valeur en C est égale à A7 ou A8 de "Sommaire".
    1ère question :
    - Pourquoi ne pas mettre la formule dans la cellule, au lieu d'un résultat figé, ne tenant compte d'aucune modification ?
    2ème question :
    - Qu'est-ce que tu attends ? Tout ce que tu nous donnes parle de C et F & G, alors que tu demandes des sommes sur D à U.

    On ne connaît que ce que tu veux bien nous dire. Tout ce qui est évident, ne l'est que pour toi. Si on doit interpréter, ce sera forcément dans le mauvais sens, suivant la loi de Murphy.
    Alors explique ce que tu veux le plus précisemment possible.
    A+

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 24
    Par défaut Bonjour Gorfale
    Tu as entièrement raison, je n'étais vraiement pas clair après relecture...

    J'ai fait comme tu le proposes, soit mettre les calculs directement dans les cellules, et je voulais attendre la fin de mon fichier pour voir son efficacité et sa lourdeur. Maintenant, je peux confirmer que c'est correcte.

    Merci pour ton aide!
    P.S. : PPz78 : Sumif (et non Sulif) est la macro de Somme.Si

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

Discussions similaires

  1. Problème avec une boucle for
    Par cisse18 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 29/03/2006, 16h50
  2. [MySQL] Problème avec une boucle
    Par yayacameleon dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 09/03/2006, 09h53
  3. Problème sur une boucle
    Par Mateache dans le forum ASP
    Réponses: 6
    Dernier message: 31/01/2006, 09h48
  4. [JMeter] Problème avec la boucle infinie pour les tests
    Par zegreg dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 05/10/2005, 11h41
  5. [Tableaux] Problème avec les boucles
    Par speed_man002 dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 15h42

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