Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
948 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [EXCEL] Récupérer les 3 plus grosses valeur d'1 colonne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[EXCEL] Récupérer les 3 plus grosses valeur d'1 colonne

n°2610031
andlio
Posté le 08-01-2007 à 15:32:53  profilanswer
 

Salut !
 
J'ai un classeur excel avec 2 feuilles. La première représente une sorte de synthèse de la deuxième.
Dans la 2e j'ai un tableau du genre :
----------------------------------
| Fournisseurs    |     CA           |
-----------------+----------------
| Fourn. 1           |      3000         |
-----------------+----------------
| Fourn. 2           |      5000         |
-----------------+----------------
| Fourn. 3           |      2000         |
-----------------+----------------
| Fourn. 4           |      3550         |
-----------------+----------------
 
Dans ma feuille 1 (la feuille de synthèse), je voudrais afficher les 3 fournisseurs ayant le plus gros CA.
 
Est-ce possible ?
 
Merci

mood
Publicité
Posté le 08-01-2007 à 15:32:53  profilanswer
 

n°2610749
TAM136
Posté le 09-01-2007 à 15:22:00  profilanswer
 

Salut
 
A condition que tes données seoint présentées ainsi:
Colonne A
Fournisseur
Fourn.1
....
 
 
Colonne B
CA
3000
....
 
Sub Macro()
Range("A1" ).Select
Selection.CurrentRegion.Select
Selection.Sort Key1:=Range("B2" ), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, Orientation:=xlTopToBottom
ActiveSheet.Range("B1" ).End(xlDown).Offset(1, -1).Select
ActiveCell.Offset(-1, 0).Select
Range(ActiveCell, ActiveCell.Offset(-2, 2)).Select
Selection.Copy
Sheets("Feuil1" ).Select
Range("A1" ).Select
ActiveSheet.Paste
Range("A1" ).Select
End Sub

n°2610935
andlio
Posté le 09-01-2007 à 18:28:28  profilanswer
 

Merci TAM136. J'essaierai ce code dès demain matin.
Juste une question : cette macro ne modifie pas mon tableau ? Il ne fait que récupérer ses données !?
 
J'te tiens au courant !

n°2611124
TAM136
Posté le 09-01-2007 à 22:52:42  profilanswer
 

andlio a écrit :

Merci TAM136. J'essaierai ce code dès demain matin.
Juste une question : cette macro ne modifie pas mon tableau ? Il ne fait que récupérer ses données !?

 

J'te tiens au courant !

 

Si.En fait, sur la seconde page, les valeurs sont triées par ordre croissant mais sans séparation entre fournisseur et CA.Par exemple, tu dois avoir

 

----------------------------------
| Fournisseurs    |     CA           |
-----------------+----------------
| Fourn. 3           |      2000         |
-----------------+----------------
| Fourn. 1           |      3000         |
-----------------+----------------
| Fourn. 4           |      3550       |
-----------------+----------------
| Fourn. 2           |      5000         |
-----------------+----------------
Je vais regarder pour faire en sorte que ton tableau soit récupéré tel qu'à l'origine.Par contre, il faudrait que tu me précises si toutes les cases de ton tableau sont toujours remplies et si le nombre de lignes est fixe ou non (je suppose que non)


Message édité par TAM136 le 19-01-2007 à 21:48:39
n°2611215
TAM136
Posté le 10-01-2007 à 08:15:39  profilanswer
 

Re,
 
Cette fois-ci avec ce code, ton tableau sur la feuille 2 est tel que tu l'avais avant le lancement de la macro.
 
Sheets("Feuil2" ).Select
Range("A1" ).Select
Selection.CurrentRegion.Select
Selection.Copy
Sheets("Feuil3" ).Select
ActiveSheet.Paste
Sheets("Feuil2" ).Select
Range("A1" ).Select
Selection.CurrentRegion.Select
Selection.Sort Key1:=Range("B2" ), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, Orientation:=xlTopToBottom
ActiveSheet.Range("B1" ).End(xlDown).Offset(1, -1).Select
ActiveCell.Offset(-1, 0).Select
Range(ActiveCell, ActiveCell.Offset(-2, 2)).Select
Selection.Copy
Sheets("Feuil1" ).Select
Range("A1" ).Select
ActiveSheet.Paste
Range("A1" ).Select
Sheets("Feuil3" ).Select
Selection.Copy
Sheets("Feuil2" ).Select
Range("A1" ).Select
ActiveSheet.Paste
Sheets("Feuil3" ).Select
Selection.ClearContents
 
Le code est un peu long. Il est peut-être possible de le faire avec une formule mais honnêtement, je ne vois pas.

n°2612054
andlio
Posté le 11-01-2007 à 09:26:19  profilanswer
 

Merci TAM pour ce bout de code. Je vais voir ce que ça donne!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  [EXCEL] Récupérer les 3 plus grosses valeur d'1 colonne

 

Sujets relatifs
Récupérer sons d'un lecteur flash (sur site http) ?Récupérer des données sur un cdrw effacé
Où récupérer les clés win xp dans la Base de Registre?Données excel dans pls onglet
macro excel qui s'interrompt[excel]probleme d'ouverture de fichiers xls a partir de l'explorateur.
Comment ouvrir 2 classeurs excel dans deux ecrans différentsrecuperer des données sur dvd r
[Outlook] Recuperer emails et carnet d'adresseCherche formule excel
Plus de sujets relatifs à : [EXCEL] Récupérer les 3 plus grosses valeur d'1 colonne


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR