Probleme Macro Excel
doudou
-
Papou93 Messages postés 147 Statut Membre -
Papou93 Messages postés 147 Statut Membre -
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)
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:
- Probleme Macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
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
Merci pour la réponse
J'aurais bien voulu mais malheureusement je ne sais pas du tout utiliser les TBC...
J'aurais bien voulu mais malheureusement je ne sais pas du tout utiliser les TBC...
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.
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.