Bouton de macro pour trier

Résolu/Fermé
thezipper Messages postés 15 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 17 janvier 2013 - 25 août 2011 à 11:43
thezipper Messages postés 15 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 17 janvier 2013 - 21 sept. 2011 à 13:41
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



A voir également:

8 réponses

thezipper Messages postés 15 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 17 janvier 2013 96
25 août 2011 à 12:16
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
et en essayant avec des guillemets (dans le range):
Sheets("feuille2").Range("D1:D660").Select
0
thezipper Messages postés 15 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 17 janvier 2013 96
25 août 2011 à 14:20
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 lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
26 août 2011 à 07:28
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 lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 308
25 août 2011 à 11:46
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 dimanche 3 avril 2011 Statut Membre Dernière intervention 18 octobre 2014 187
25 août 2011 à 13:09
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 dimanche 3 avril 2011 Statut Membre Dernière intervention 18 octobre 2014 187
25 août 2011 à 18:59
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 lundi 22 août 2011 Statut Membre Dernière intervention 6 septembre 2011
26 août 2011 à 00:23
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 lundi 22 août 2011 Statut Membre Dernière intervention 6 septembre 2011
27 août 2011 à 17:09
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 311
28 août 2011 à 10:19
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 vendredi 6 mai 2011 Statut Membre Dernière intervention 17 janvier 2013 96
21 sept. 2011 à 13:41
merci a tous pour vos reponse !!! bien utile ;-)
0