Excel macro tri avec choix de la colonne

Résolu/Fermé
elhorga47 Messages postés 19 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 9 avril 2020 - 21 nov. 2009 à 14:47
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 5 janv. 2010 à 20:16
Bonjour,

Je ne suis pas un pro des macros et là je bloque sur une macro qui me serait bien utile dans mon taf.
Je travaille sur des tableaux Excel assez conséquent avec de nombreuses lignes et de nombreuses colonnes.
Afin d'avoir des axes d'analyse différents (taux, valeur, écarts, secteur géo...) je souhaiterais créer une macro qui lorsque je clique sur le bouton (que j'ai crée) me demande de choisir une colonne qui sera celle qui fera l'objet de mon tri.

En fait, il faut qu'une textbox (après avoir cliqué sur mon bouton) apparaisse et que lorsque je saisie la colonne C par exemple, le tri se fasse sur la colonne choisie sur la plage définie (A3:D7 dans mon exemple)

Je mets un fichier pour exemple

excel

Merci pour votre aide
A voir également:

12 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 644
21 nov. 2009 à 16:13
Bonjour,

Le fichier exemple n'est pas en lien. Pour le faire utiliser www.cijoint.fr, et nous donner le lien.

Merci
0
elhorga47 Messages postés 19 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 9 avril 2020
21 nov. 2009 à 23:01
Ok merci

Voici le lien

http://www.cijoint.fr/cjlink.php?file=cj200911/cijhilcRCw.xls
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
21 nov. 2009 à 23:56
Tu peux faire une UserForm dans laquelle tu mets un RefEdit. Tu récupères la valeur de la plage saisie pour faire ton tri. Je ne sais pas vraiment à quel niveau tu bloques. Peux-tu préciser sur quel point tu as besoin d'aide ?
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
22 nov. 2009 à 00:05
Bonjour,
C’est une possibilité sans passer par une [UserForm]: https://www.cjoint.com/?lwaeFH5vbn
0

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

Posez votre question
elhorga47 Messages postés 19 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 9 avril 2020
22 nov. 2009 à 00:55
Bonsoir,

A la base, je ne sais pas programmé le VB. J'utilise quelques macros conditionnelles que je trouve sur le net et je sais les adapter et y apporter des petites modifs mais après le refedit et tout le reste je ne sais pas comment les créer et les enchainer dans le VB . Je suis controleur de gestion et la programmation VB n'est pas très facile pour moi.
Pour toi, récupérer la valeur du userform te semble clair et évident, pour moi c'est obsur... Apparement on ne joue pas dans la même cour pour le VB... :-)

En fait, ça serait cool si quelqu'un pouvait m'écrire un petit bout de VB qui correspond à ma demande... Ensuite, j'essaierais de le comprendre et de l'adapter à mes besoins. J'espère que je ne vous désole pas trop...

Merci de votre compréhension.
0
elhorga47 Messages postés 19 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 9 avril 2020
22 nov. 2009 à 01:19
Merci, ça fonctionne
J'étais en train de répondre pendant que tu me donnais la solution
Merci pour votre aide!!!

Bonne soirée
0
elhorga47 Messages postés 19 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 9 avril 2020
22 nov. 2009 à 01:35
En essayant de faire fonctionner la macro sur plus de données, je me suis apperçu que ça serait bien de pouvoir choisir l'ordre de tri ascendant ou descendant...
Auriez-vous une solution?

Merci d'avance
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
22 nov. 2009 à 11:46
Bonjour,
Parlez-vous de ma proposition ?
Oui s'est possible, mais pas avant demain !
Merci de votre réponse.
Bon dimanche.
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
22 nov. 2009 à 14:59
Pour info, l'Userform est une fenêtre personnalisée dans laquelle tu peux insérer des cases à cocher, des options, des champs que l'utilisateur peut remplir, ... le RefEdit est un champ qui te permet de sélectionner une plage de cellules de la même manière qu'on définit les données sources d'un graphique par exemple.

Pour ce qui est de ta question d'origine, j'ai repris le fichier de Le Pingou et j'ai ajouté le sens du tri.
http://www.cijoint.fr/cjlink.php?file=cj200911/cijNE6tuK9.xls

Pour Le Pingou, de manière générale, il vaut mieux fermer les blocs If ou autre par un End If, ne serait-ce que pour la lisibilité du code.
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
22 nov. 2009 à 18:05
Bonjour Gord21,
Désolé si vous avez de la peine avec les diverses manière d'écriture de [If .. then .. end if].
Dans mon cas le End if n'est vraiment pas utile.
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289 > Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024
22 nov. 2009 à 18:34
Bonjour Le Pingou,
Effectivement, la forme d'écriture sans End If est correcte mais je trouve simplement la forme avec fermeture des blocs plus explicite pour les débutants ou ceux qui sont plus familiers avec d'autres langages de programmation.
Il s'agissait juste d'une petite remarque :-)
Bonne soirée
0
elhorga47 Messages postés 19 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 9 avril 2020
22 nov. 2009 à 16:54
ça marche bien
c'est nickel.
Merci beaucoup!!
0
Bonsoir à vous tous.

Je suis admiratif devant une telle efficacité.
Pour ma part, j'ai besoin de trier 6 colonnes ; j'ai essayé d'éditer les lignes de commandes et de mettre A:F au lieu de A:D, mais cela ne marche pas. Est-ce difficile d'y arriver ?
Merci !

JL
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
4 janv. 2010 à 21:33
Bonsoir,

Tu dois éditer le code dans la macro (Outils/Macros.../Visual Basic Editor) et non dans la zone texte qui est sur la feuille et que tu peux effacer. Par contre, pense à modifier l'adresse des cellules qui correspondent aux listes de choix.

0
jlkas > Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013
5 janv. 2010 à 18:57
Merci pour la réponse !

Mais c'était ce que j'avais fait, dans visual.
Par contre, je ne vois pas bien ce que veut dire "modifier l'adresse des cellules" Sont-ce les réf $I$1 ?

Cordialement,
JL
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289 > jlkas
5 janv. 2010 à 20:16
Oui, ce sont les cellules dans lequelles il y a les listes de choix
0
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
4 janv. 2010 à 22:04
Bonjour,
Se poste est résolu ... !
Je veux bien donner un oeil, mettre votre fichier sur https://www.cjoint.com/ et poster le lien !
0