Bouton de macro pour trier

Résolu
thezipper Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
thezipper Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Hello a tous!!!

Je suis sur Excel et je galère à trouver une macro associé a un code VBA pour trier de façon croissante une colonne.
Sur ma feuille 1 j'aimerai avoir par clique sur un bouton commande trier la colonne D1 :D660 de ma feuille 2.
Quelle est le code VBA à mettre sur le bouton de commande pour faire cela SVP ????
Au bord de la crise !!!
Un utilisateur m'a donné la reponse ci dessous mais le probleme est que je voudrais metre mon bouton sur une autre feuille (1)...

Private Sub CommandButton1_Click()
[D1:D660].Select
Selection.Sort Key1:=Range("D1"), Order1:=xlAscending
[D1].Select
End Sub

merci beaucoup de votre aide



8 réponses

thezipper Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   96
 
Merci pour ta reponse mais cela ne marche pas la macro bloque sur la ligne:

Sheets("feuille2").Range(D1:D660).Select

Pourtant j'ai bien fait attention avec le nom de la feuille ....
1
Paf
 
et en essayant avec des guillemets (dans le range):
Sheets("feuille2").Range("D1:D660").Select
0
thezipper Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   96
 
elas meme avec les guillemets cela ne fonctione pas...
tout le probleme est de mettre le bouton sur une feuille et l'action sur une autre .....
je n'y arrive pas !!!
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

en fait j'ai fait un petit test, et il semblerait que pour que ça marche, vous devriez d'abord activer la feuille sur laquelle se fera la sélection, puis sélectionner les cellules voulues :
Sheets("Feuil2").Activate
Range("D1:D660").Select


Cdt.
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

si tu veux trier la colonne D sur la feuille 2 alors que ton bouton est sur la feuille 1, tu peux faire comme suit :

Private Sub CommandButton1_Click()
Sheets("feuille2").Range(D1:D660).Select
Selection.Sort Key1:=Range("D1"), Order1:=xlAscending
[D1].Select
End Sub 


Si besoin, remplacer "feuille2" par le nom de cette feuille.

Cordialement.
0
marc07 Messages postés 593 Date d'inscription   Statut Membre Dernière intervention   187
 
Bonjour,

Petit cour tout en video et simple

http://www.polykromy.com/blog/excel-video-f10.html

Amicalement Marc
0
marc07 Messages postés 593 Date d'inscription   Statut Membre Dernière intervention   187
 
bonsoir,

A testé cela tri toute la colonne D en feuil1 le bouton est en feuil 2

http://www.cijoint.fr/cjlink.php?file=cj201108/cijTJOb1Mv.xls

Marc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aze04 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
bonsoir,
Ce code peut vous être utile sans bouton:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("D:D")) Is Nothing Then
Range("maplage").Sort Key1:=Range("D1"), Order1:=xlAscending, Header:= xlGuess, OrderCustom:=1, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End If

End Sub



- Commence par nommer ta base de données en feuille2.
- Copie le code
- Clique avec le bouton droit sur l'onglet de ta feuille et choisis "Visualiser le code"
- Colle le code et remplace "maplage" par le nom que tu as donné à ta base.

Ce code n'est pas le mien, c'est celui de m@rina envoyé à Pixou, je l'est essayé et il fonctionne bien, il suffit ensuite de cliquer sur une cellule du colonne D dans la feuille2
0
aze04 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
puisque vous tenez tant à votre Bouton, essaye cette méthode: un bouton affecté à une macro (que vous devez enregistrer).
je l'ai essayé et ça marche.

En feuille 1 :
- Développeur.
- Insérer un Bouton (contrôle de formulaire).
- Enregistrer une Macro : Nom, sans touche de raccourci, ce classeur, description, ensuite OK.
- Sélectionner la Feuille 2.
- Sélectionner le tableau à partir de la colonne D.
- Sélectionner Accueil ensuite Trier et Filtrer et du plus petit au plus grand.
- Arrêter l'enregistrement.
- Revenir à la feuille 1.
- Sélectionner le Bouton clic droit.
- Affecter une macro (celle créée)
- Ensuite OK.
- Tester votre Bouton : vous devez être sur la feuille 2 triée.


Vous pouvez à tout moment remplacer votre bouton par la touche de raccourci.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 315
 
Bonjour

maquette
https://www.cjoint.com/?AHCknceef06

le code:
Sheets(2).Range("D1:D660").Sort Sheets(2).Range("D1")
MsgBox "la colonne D de la feuille 2 a été triée avec succès"


0
thezipper Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   96
 
merci a tous pour vos reponse !!! bien utile ;-)
0