Trie sur plusieures feuilles

  • Initiateur de la discussion Initiateur de la discussion Art
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Art

Guest
Bonsoir à tous et longue vie à ce Forum
Je vous expose mon problème
J'ai un classeur avec plusieurs feuilles, toutes structurées de la même manière.
Ces feuilles sont des bases de données classiques d'environ 50000 lignes.

NOM / PRENOM / ADRESSE1 / ADRESSE2 / CP / VILLE

Est-il possible, avec une macro, de trier toutes ces feuilles par Code Postal en une seule fois en sachant que l'on peut trouver du 01 sur la dernière feuille et du 95 sur la première?

J'avoue que mes compétences en VBA sont loin de pouvoir résoudre ce problème.

Qelqu'un a t-il une idée sur la faisabilité de la chose, et me donner un début de piste?

Merci à tous
@+
Art
 
Re : Trie sur plusieures feuilles

[FONT=&quot]bonjour Art,

voilà comment je vois la chose :
[/FONT]
  1. [FONT=&quot] trier chaque feuille séparemment.[/FONT]
  2. [FONT=&quot] créer d'abord un nouvel onglet nommé (par exemple) Newbase01[/FONT]
  3. [FONT=&quot] parcourir la collection de feuille (sauf Newbase1 bien sûr) avec la commande For Each Feuille In Sheets[/FONT]
  4. [FONT=&quot] dans chaque feuille ainsi parcourue, copier toutes les lignes dont le code postal est 01, coller dans Newbase01, puis les détruire dans leur onglet d'origine. Avant chaque "collage" dans une feuille Newbase, il faut vérifier qu'il y reste suffisamment de lignes libres, sinon créer un nouvel onglet Newbase en incrémentant le numéro final[/FONT]
  5. [FONT=&quot] passer au code postal suivant[/FONT]
[FONT=&quot] Ca donnerait à peu près ce qu'il y a dans le fichier joint. Mais là, ma fille vient de se réveiller, faut que je m'en occupe!
A plus tard.

[/FONT]
 
Dernière édition:
Re : Trie sur plusieures feuilles

Bonjour
J'imagine que cela fait suite à ton transfert Access vers Excel pour lequel je t'avais indiqué une méthode.
Le plus simple serait de faire le tri avant le transfert donc de retravailler ta table Access avant d'utiliser cette méthode de transfert.
Il faudrait
  • copier la table reçue sous le nom Export2 au lieu d'Export
  • créer une requête création de table : à partir d'Export2, triée sur le code postal génération de la table Export
  • Ensuite tu continues la procédure que je t'avais indiquée : ajout du champ numero etc
Sinon en Excel, même si c'est réalisable (pas sûr) cela va ramer à mort.
Si tu as souci avec Access reposte sur ce fil.


PS : Salut Kobaya, nos réponses se sont télescopées.
Cependant connaissant l'origine du PB, je pense qu'il est plus simple et rapide de le régler en amont.
 
Dernière édition:
Re : Trie sur plusieures feuilles

salut chris,

j'avais pensé aussi à Access, mais sans autre élément à ma connaissance, j'ai proposé ce code.
une question que j'aurais dû poser : la base est-elle amenée à grandir ?
Non : alors mon code est à priori bon, pour un traitement "unique"
Oui : alors pourquoi passer à Excel ?
 
Re : Trie sur plusieures feuilles

Salut Kobaya (papa ou maman poule ?)

En fait Art avait demandé comment exporter une grosse table Access en la répartissant des plusieurs feuilles du classeur.
Pour lui c'est un problème récurent car il il traite de telles tables régulièrement.
D'où ma proposition d'amender la méhode que je lui avais donnée pour obtenir ce fichier Excel qu'il veut trier.

Mais je ne remets pas ton code en cause : il est très bien et fonctionnera mais prendra plus de temps à traiter les 200 000 lignes (au moins) qu'Access d'autant que des opérations Access doivent de toute façon être réalisées sur la table source.

En plus je crois qu'il lui faut un tri par code postal et pas seulement par département.

Mais sans le 1er fil, tu ne pouvait pas proposer la même solution que moi.

@+
 
Re : Trie sur plusieures feuilles

Bonjour le Forum, Kobaya, Chris

Je vous remercie pour vos réponses rapides à tous les deux.

En effet Chris, il s'agit bien de la suite du problème que tu m'as gentiment et très efficacement résolu.

J'ai bien pensé à d'abord trier la table sur Access mais une fois fait, lorsque je l'exporte vers Excel, elle reprend son tri d'origine, (je dois oublier quelque chose en route !!!!! 🙂

En tout cas, je vais essayer de la manière dont tu as m'a indiqué plus haut et je reposte.

Kobaya, je te remercie pour ta méthode qui me parait quand même un peu longue à mettre en oeuvre mais surement très efficace.
Je vais bien sur l'essayer et je te tiens au courant

En tout cas je vous remercie tous les deux encore une fois.
@+
Art
 
Re : Trie sur plusieures feuilles

Je crois que j'avais rencontré ce problème de tri perdu lors d'un export vers un fichier excel depuis une table Access. Si je me souviens bien, j'avais résolu le problème en déclarant un recordset avec la bonne requête (ex. : SELECT * FROM Table ORDER BY cp), puis en le parcourant et en écrivant chaque enregistrement dans un fichier.
Je ne sais plus combien de ligne comportait ma table, mais ça fonctionnait très bien. Et comme je n'avais pas trouvé d'autre méthode, j'en étais resté là...
 
Re : Trie sur plusieures feuilles

Rebonjour Kobaya
C'est effectivement une autre solution.
Mais je confirme que la table créée via une requête ajout triant celle d'origine est correctement triée et exportée. Cela évite le VBA que ne connait par Art.
Je viens de tester et vérifier, même un requête sélection s'exporte triée. Mais dans le cas d'Art qui doit exporter par paquet de 50000 lignes cette deuxième solution n'est pas applicable d'où la table intermédiaire.
XLD vire au forum Access aujourd'hui !🙁
Bonne journée à tous
 
Re : Trie sur plusieures feuilles

Re Chris,Kobaya,nat54

Quel plaisir de bosser avec des personnes telles que vous, on en apprend tous les jours, même si je ne comprend pas tout tout de suite.

Chris, j'ai quelques difficultées à mettre en pratique ta phrase:
" créer une requête création de table : à partir d'Export2, triée sur le code postal génération de la table Export ".

Pourrait tu me l'expliquer plus en détail, je fais des efforts mais Access est completement nouveau pour moi.

Au plaisir de vous relire
@+
Art
 
Re : Trie sur plusieures feuilles

Bonjour
Tu crées une requête sur la table Export2 (ou la table venant du client) avec tous les champs (utilise *), tu ajoutes le code postal mais tu décoches l'affichage pour ne pas l'avoir 2 fois (puisqu'il il fait partie d'*).
Tu sélectionne croissant sur la ligne tri pour ce code postal.
Tu peux déjà exécuter pour voir le résultat.
Ensuite dans le menu Requête, tu sélectionnes Requête création et tu indiques Export comme nom.
Tu cliques sur le point d'exclamation pour obtenir la table Export triée par code postal.
Tu fermes la requête et tu n'as plus qu'à ajouter le champ numéro auto dans la table obtenue.
N'hésite pas si tu coinces.
 
Re : Trie sur plusieures feuilles

Bonjour Chris, Kobaya, nat54 et tous les autres forumeurs

Je vous remercie tous sincerement pour l'aide que vous m'avez apporté.
Je peux enfin maintenant me dépatouiller seul pour pouvoir traiter de grandes bases de données sur Access et établir des relations avec Excel.
Vous m'avez donné le coup de pouce necessaire pour établir et comprendre ces relations.
Je n'en suis qu'aux prémices mais à moi d'approfondir tout ça et d'avancer grâce à vous.
J'espère pouvoir rendre la pareille un jour à d'autres personnes comme vous l'avez fait pour moi.
Encore une fois un grand MERCI à vous et à ce merveilleux Forum
@+
Art
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
5
Affichages
1 K
L
Retour