Probleme Macro Excel

Fermé
doudou - 23 sept. 2007 à 10:58
Papou93 Messages postés 146 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 juin 2012 - 23 sept. 2007 à 13:03
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)
A voir également:

3 réponses

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
Merci pour la réponse
J'aurais bien voulu mais malheureusement je ne sais pas du tout utiliser les TBC...
0
Papou93 Messages postés 146 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 5 juin 2012 59
23 sept. 2007 à 13:03
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