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 :

tableau depuis une liste par une macro [XL-2003]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Par défaut tableau depuis une liste par une macro
    Bonjour

    Je souhaite établir un tableau à partir d'une liste, sans avoir recours à un TCD, car j'ai l'intention de manipuler les données ou tout simplement à y mettre un filtre.

    J'ai construis une formule excel qui va bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((NB.SI($A2;Data!$B$3:$B$65500)=1)*(NB.SI(B$1;Data!$A$3:$A$65500)=1)*Data!$C$3:$C$65500)
    Je voudrais par une macro envoyer les données dans le tableau.

    Je cherche donc à mettre au point cette macro, j'ai repris une macro que j'essaye d'adapter et là je bloque j'ai besoin de vous à ce stade.

    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
    24
    25
    26
    27
    28
    29
    30
    31
    Sub Fill()
    Dim r As Range
    Dim NbLigne As Long
    Dim NbColonne As Long
    Dim value As Double
    Dim SommeProd As Variant
     
    Dim PlageCompte As objPlageDeComptes
    Dim ListePlageComptes As New objListePlageDeComptes
     
     
     NbLigne = Sheets("Data").[A1].CurrentRegion.Rows.Count '
     NbColonne = Sheets("Résultat").Range("A1").End(xlToRight).Column
     
     
        For Each r In Sheets("Résultat").Range("A2:A" & NbLigne)
            ListePlageComptes.Clear
            ListePlageComptes.Init (r.Offset(0, 2).value)
            value = 0
                For Each PlageCompte In Sheets("Résultat").Range("A:NbColonne" & 1)
     
                    SommeProd = Evaluate("sumproduct((COUNTIFI($A2;Data!$B$3:$B$65500)=1)*(NB.SI(B$1;Data!$A$3:$A$65500)=1)*Data!$C$3:$C$65500)")
     
                    If IsNumeric(SommeProd) Then value = value + SommeProd
     
                Next PlageCompte
     
     
            ThisWorkbook.Worksheets(r.value).Range(r.Offset(0, 1).value) = value
     
        Next r
    Je joins un fichier, pour test

    Merci de votre aide

    Christian

    Edit modifié dans la formule SOMMEPROD en sumproduct & NB.SI en COUNTIFI
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. remplir une liste par une requête
    Par jujurochedu42 dans le forum Langage
    Réponses: 1
    Dernier message: 16/05/2012, 14h45
  2. Séparer le contenu d'une liste par une virgule
    Par arngrimur dans le forum C#
    Réponses: 5
    Dernier message: 27/09/2011, 10h02
  3. [Lisp][IA] Supprimer une liste d'une liste de listes
    Par Superleo2999 dans le forum Lisp
    Réponses: 5
    Dernier message: 22/03/2010, 10h51
  4. Réponses: 3
    Dernier message: 10/05/2008, 12h55
  5. Réponses: 4
    Dernier message: 31/10/2007, 20h27

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