Probleme Macro Excel

doudou -  
Papou93 Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je dois faire une Macro permettant de faire une synthese mais je n'y arrive pas.
Sur ma feuille2 se trouve un tableau avec des données et je dois les classer par statut dans une feuille1 (3 tableaux ayant pour valeurs nombres négatifs, entre 0 et 100 et superieur à 100) ensuite je dois faire un camembert juste en dessous pour mieu visualiser...

feuille2
nom resultat
sfsfs 678
uihu -89
hiohi 12
gyh 67

feuille1
nom-si-resultat-négatifs........nom-si-resultats-entre0et100......nom-si-resultat>100
uihu...............................hiohi................................... sfsfs
................................... gyh

(les points sont mis ici juste pour la mise en forme dans ce forum)
Camembert synthétique:
...

Merci beaucoup pour votre aide (en esperant que moi requete soit comprehensible)
Configuration: Windows XP
Firefox 2.0.0.7

3 réponses

  1. jouv
     
    tu peux resoudre ton probleme en ajoutant une colonne qui va te permettre de distingué les trois cas. grace à un croisé dynamique de chaque cas , tu pourras realiser tes camenberts
    0
  2. doudou
     
    Merci pour la réponse
    J'aurais bien voulu mais malheureusement je ne sais pas du tout utiliser les TBC...
    0
  3. Papou93 Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   59
     
    Bonjour doudou,

    En ce qui concerne le 1er point, voici un exemple de macro pour classer ton tableau :

    Sub Tri()

    lg1 = Sheets("feuil1").Cells(65536, 1).End(xlUp).Row + 1 ' 1ère ligne vide dans la colonne 1, Feuille 1
    lg2 = Sheets("feuil1").Cells(65536, 2).End(xlUp).Row + 1 ' 1ère ligne vide dans la colonne 2, Feuille 1
    lg3 = Sheets("feuil1").Cells(65536, 3).End(xlUp).Row + 1 ' 1ère ligne vide dans la colonne 3, Feuille 1
    dlg = Sheets("feuil2").Cells(1, 1).End(xlDown).Row ' Dernière ligne non vide dans la colonne 1, Feuille 2

    With Sheets("feuil2")
    For lg = 2 To dlg
    Select Case .Cells(lg, 2).Value
    Case Is < 0
    Sheets("feuil1").Cells(lg1, 1) = .Cells(lg, 1)
    lg1 = lg1 + 1
    Case Is > 100
    Sheets("feuil1").Cells(lg3, 3) = .Cells(lg, 1)
    lg3 = lg3 + 1
    Case Else
    Sheets("feuil1").Cells(lg2, 2) = .Cells(lg, 1)
    lg2 = lg2 + 1
    End Select
    Next

    End With


    End Sub

    Quant au sujet du graphique camembert, je n'ai pas bien compris ce que tu veux faire.

    Espérant t'avoir aidé,

    Cordialement.
    0