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 :

Consolidation de lignes Excel via VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2015
    Messages : 67
    Par défaut Consolidation de lignes Excel via VBA
    Bonjour,

    Ayant un peu fouillé sur le forum et sur Internet en général, je n'arrive décidément pas à trouver une solution adéquate à mon problème.

    J'ai un tableau avec deux colonnes :
    - date ;
    - quantité.

    Voilà un morceau simplifié du fichier :
    ligne 1 : date = 01/01/2016 - quantité = 10 ;
    ligne 2 : date = 01/01/2016 - quantité = 15 ;
    ligne 3 : date = 01/01/2016 - quantité = 5 ;
    ligne 4 : date = 02/01/2016 - quantité = 10 ;
    ligne 5 : date = 02/01/2016 - quantité = 25 ;
    ligne 6 : date = 03/01/2016 - quantité = 20 ;
    ligne 7 : date = 04/01/2016 - quantité = 5 ;
    ligne 8 : date = 04/01/2016 - quantité = 15 ;
    etc...

    Je voudrais pouvoir consolider les lignes libellées à la même date et sommer les quantités correspondantes, de telle façon qu'on obtienne :
    ligne 1 : date = 01/01/2016 - quantité = 30 ;
    ligne 2 : date = 02/01/2016 - quantité = 35 ;
    ligne 3 : date = 03/01/2016 - quantité = 20 ;
    ligne 4 : date = 04/01/2016 - quantité = 20.

    Tout ceci dans un petit code VBA, merci par avance pour vos pistes

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Bonjour à toi,

    Avant de partir dans le monde VBA, est-ce qu'un Tableau Croisé Dynamique (TCD) ne te suffirait pas ?
    Parce que c'est tout à fais adapté à ce que tu demande concernant le regroupement.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2015
    Messages : 67
    Par défaut
    Non je souhaite vraiment l'intégrer dans un code VBA car j'y fais appel pour beaucoup d'autre choses, et je voudrais que tout soit sur ce code, pour ne pas jongler.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour,

    alors dans ce cas regarder dans l'aide VBA l'objet Dictionary



    ______________________________________________________________________________________________________
    Heureux l'étudiant qui, comme la rivière, suit son cours sans quitter son lit …

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    En effet, va te falloir parcourir toute ta plage de valeurs, stocker chaque date en clé d'un Dictionary et sommer la valeur à chaque fois.
    Vu que tu dois "écraser" l'existant je ferais comme ceci, pendant le parcours descendant, la valeur associé à la clé dans le Dictionary serai la référence de la cellule contenant la valeur sommé.

    Donc, à chaque nouvelle valeur de clé tu viens écrire directement à la ligne suivante, comme ça tu ne fais qu'un seul parcours et a la fin tu efface les lignes restantes

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2015
    Messages : 67
    Par défaut
    J'ai beau essayer de voir comment faire, je n'y arrive pas.
    Pourriez vous me montrer le code correspondant pour répondre à la requête précise ?

Discussions similaires

  1. [XL-2007] Suppression lignes excel via formulaire sous vba
    Par nanousik dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2012, 07h00
  2. somme des effectifs de lignes excel via VBA
    Par soul330 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2010, 20h42
  3. Réponses: 13
    Dernier message: 19/03/2007, 16h55
  4. problème de date dans excel via vba.
    Par Bourezak dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/12/2006, 13h39
  5. Mise en page Excel via VBA Access
    Par popo68 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/11/2006, 17h03

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