Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 2013
-
Modifié par Claude1245 le 13/10/2013 à 16:15
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
14 oct. 2013 à 06:35
Bonjour à tous,
Mon soucis est le suivant:
Dans un fichier (Excel 2002) destiné à classer des coureurs à l'arrivée d'une course, j'ai les colonnes A,B,C,D qui contiennent respectivement: nom, prénom, club et numéro de dossard. Dans la colonne E je vais saisir manuellement les dossards de ces concurrents par ordre d'arrivée.
Avec un bouton associé à une macro:
Je voudrais classer automatiquement les colonnes A,B,C,D selon l'ordre d'arrivée des dossards de la colonne E
J'espère que quelqu'un pourra m'aider, car j'avoue être un peu à court d'idée et diverses recherches ne m'ont pas apporté de solution satisfaisante...
Un grand merci par avance!
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 17:13
Si je n'avais pas de difficulté je n'aurais pas demandé de l'aide...
"tu ne sais pas..." "Il te faut apprendre" ...
Si ça t'amuse, ben tant mieux!
Moi j'en suis toujours au même point...
Merci
Désolé pour toi, mais si tu ne fais pas cet effort minimum (dont je t'ai de surcroît décrit les gestes) , tu vas rester bien seul.
Et cela ne "m'amuse pas" du tout. C'est un constat que je déplore (pas du tout pareil). Tu es ici sur un forum de développeurs et es donc censé en être un.
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 17:25
Et si je te disais que je ne sais pas utiliser l'éditeur de macros, tu serais satisfait?
D'autres prennent la peine de prendre connaissance du problème et essaient d'y apporter leur aide...
Toi tu as choisi de me laisser dans mon jus, c'est ton droit.
Mais je déplore également...
"Et si je te disais que je ne sais pas utiliser l'éditeur de macros, tu serais satisfait? "
C'est une plaisanterie ?
J'ai pourtant pris la peine de te dire plus haut comment !!!
Bonne chance (moi, je te laisse là).
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 13 oct. 2013 à 17:36
Et en plus :
Dans ton aide Excel (pas VBQA, mais bien Excel) :
chercher avec "Créer une macro"
Y choisir "Enregistrer une macro"
Tout y est expliqué très clairement-.
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 17:51
On voit bien que tu n'as pas pris la peine de comprendre le problème!
Puisque dans la colonne E se trouvent les même dossards que dans la colonne C mais dans l'ordre d'arrivée des coureurs...
Il ne s'agit donc pas de bêtement trier par la colonne E comme si celle-ci contenait par exemple le temps à côté de chaque coureur.
Mais bien de trouver une solution (code) qui permette de faire l'opération souhaitée, à savoir que les colonnes A,B,C,D s'alignent automatiquement sur les dossards de la colonne E.
Evidemment qu'il faudrait que quelqu'un de bonne volonté me donne ce code ou me mette sur la piste de celui-ci...
Dans l'éditeur de macro je ne sais pas quel type de code écrire!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 19:16
Je te rappelle, comme je constate que tu n'as toujours rien compris, que la colonne E contient des numéros de dossard et non pas le rang...
Je te répète que je saisis dans la colonne E les dossards dans l'ordre de leur arrivée!!!! En haut le premier, par exemple le dossard 8 puis dessous le second, le dossard 34 etc... Comment faire pour que les données des colonnes A,B,C,D se placent automatiquement à côté du dossard saisi?
Essaye donc aussi de faire un effort et cesse stp de me prendre pour un incapable!
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 13 oct. 2013 à 19:22
Ouais ...
incompréhensible.
essaye alors d'être très clair et très précis sur ce que tu veux faire.
Si tu as des difficultés à l'exposer, mets donc ici un exemple, sur 3 lignes (cela suffira) de ce que tu as et de ce que tu veux obtenir.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 13 oct. 2013 à 19:26
Et surtout : erreur de conception de ton tableau, puisque l'une de ses colonnes (la E) est remplie dans une logique autre que celle des colonnes A à C.
La logique serait de mettre en colonne E les temps et de trier sur la E, tout simplement
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 13 oct. 2013 à 20:39
Mais si tu persistes à faire comme tu l'as "conçu" ===>> il te faut deux feuilles de données (l'une avec les données des coureurs et l'autre avec leur ordre d'arrivée)
Puis remplir la seconde avec les données (récupérées par Find sur la première) de la première.
Bien plus "relou".
Comme tu le vois : il s'agit là avant tout deconception,
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 20:37
Je n'ai jamais parlé de temps, parce que cela m'oblige de les saisir manuellement et c'est précisément ce que je veux éviter.
J'ai pu créer un chrono avec une macro qui m'envoie par mail les temps depuis l'arrivée de la course. Ces temps je les ajouterai une fois le classement réalisé. Une autre personne saisi les dossards dans l'ordre d'arrivée. Avec cette liste de dossards je voudrait mettre ma liste de coureur dans l'ordre d'arrivée. Je ne peux malheureusement pas te joindre le fichier pour que tu comprenne enfin...
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 20:47
On va peut-être finir par s'entendre...
C'est possible, que la conception n'est pas bonne mais cela ne me suffit pas! Je n'ai pas la moindre idée comment récupérer par find sur la première feuille...
Alors soit tu me donnes la solution ou alors tu laisses tomber, parce que cela devient agaçant...
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 13 oct. 2013 à 20:50
Non ! Ce n'est pas la vocation de ce forum de développement.
Viens par contre avec ce que tu tentes (et le code tenté) et on verra alors.
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024344 13 oct. 2013 à 21:13
Bonsoir.
Ucfoutu a raison sur le principe de fonctionnement de ce forum il suffit d'aller lire le règlement du site.
par ailleurs il semble que vous ayez plus en souci d'algorithme
Qu'un problème de programmation...
quoi qu'il en soit Ucfoutu a proposé une bonne idée concernant l'utilisation d'un second tableau. . Le premier etant la base de données.
Il suffirait de parcourir ce deuxième tableau et d'y coller les données du premier tableau correspondant au numéro de dossard.
Il vous faut donc commencer par regarder du côté des boucles...
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024344 13 oct. 2013 à 21:30
Une autre idée serait d'ajouter a votre tableau une colonne contenant une formule "EQUIV" puis de trier sur cette colonne
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 21:31
Bonsoir,
Merci pour pour votre réponse.
Les boucles ça me dit effectivement quelque chose, même que je suis novice en la matière... Je vais chercher de ce côté.
Cordialement.
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 21:33
On ne dit alors pas :
"Cela m'avance pas beaucoup...
J'ai déjà cherché de ce côté là.", mais ; "je ne sais pas utiliser l'enregistreur de macros", hein ...
Il te faut alors apprendre (et çà, c'est Excel et son B.A.BA) à utiliser l'enregistreur de macros>.
1) on le lance (Développeur ===>>> Visual Basic ===>>> Macros ===>> enregistrer une macro
2) accomplir les gestes de tri que tu veux
3) arrêter l'enregistreur
4) aller lire le code qu'il a écrit (en éditant la macro qui a été créée par un clic sur "modifier").
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Ben : Tu tries sur la colonne E !
Ne nous dis pas que tu ne sais pas non plus le faire depuis Excel, manuellement (Données ===>> Trier) ?
Je crains fort que ce que tu appelles dans ces conditions "de l'aide", ne soit purement et simplement rien d'autre que la demande d'écriture d'un code à copier/coller ... sans même le comprendre.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 13 oct. 2013 à 18:49
Roooo !
C'est vraiment incroyabe !
Fais-le donc manuellement et regarde le résultat :
Tu sélectionnes toute la plage concernée par ce tri (colonnes A à E incluses) et tu tries sur la colonne E.
Allons allons !
Et cà, ce n'est même pas la connaissance de VBA, juste celle de Excel ...
Claude1245
Messages postés13Date d'inscriptiondimanche 13 octobre 2013StatutMembreDernière intervention13 octobre 20137 13 oct. 2013 à 21:01
Bref, je n'ai plus de temps à perdre. Sûrement que la vocation de ce forum n'est pas celui que je pensais. Et j'en m'en excuse. J'ai tout de même vu dans d'autre sujets, que des solution précises on été indiquées... Je déplore juste le ton de tes interventions, prendre celui qui demande de l'aide pour un guignol en jouant au "docteur" est en effet assez désagréable surtout que sur la question précise tu ne sembles pas avoir beaucoup plus d'idées que moi.
Excellente soirée.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 13 oct. 2013 à 21:03
OK d'ac, donc ...
Je te laisse maintenant là (j'ai de la fièvre et tu l'amplifies).
Je te souhaite tout le succès qui correspond à tes efforts.
Voilà comment je vois personnellement la chose :
- une feuille "coureurs" (l'inventaire des coureurs) dont les colonnes A,B,C et D contiennent dans l'ordre : le n° de dossard, le nom, le prénom et le club. Remarquons que l'ai mis le dossard en 1er. Ce n'est pas "au hasard".
- une feuille contenant les résultats de la course, dans l'ordre d'arrivée. Cette feuille elle-même ne doit comporter que 4 colonnes (nom, prénom dossard et club). Ces 4 colonnes pourront y figurer dans l'ordre que l'on veut.
- il ne faut pas demander à l'utilisateur de saisir quoi que ce soit (risques d'erreur) sur la feuille des résultats.
-il faut l'obliger à sélectionner dans une listbox ou une combobox, dans l'ordre d'arrivée et éliminer de la listbox ou combobox un coureur qui y est sélectionné (de sorte à ne pas risquer de le saisir plusieurs fois). Ce qui veut dire que cette listbox ou combobox ne devra pas être liée à la feuille "coureurs", mais alimentée en boucle à partir de la dite feuille.
A chaque sélection dans la listbox ou combobox, reporter tout simplement, en dessous de la dernière ligne remplie, l'article et ses sous-articles sélectionnés.
Attention : prévoir la possibilité de recommencer à zéro (pour le cas où l'utilisateuir se serait trompé dans l'ordre d'arrivée)
Tout cela est facile à mettre en oeuvre (même pas de Find), mais implique la remise en question totale de la conception.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Modifié par ucfoutu le 13/10/2013 à 17:19
Et cela ne "m'amuse pas" du tout. C'est un constat que je déplore (pas du tout pareil). Tu es ici sur un forum de développeurs et es donc censé en être un.