× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Macro pour un tableau de scolaritéSujet résolu
Ajouter un message à la discussion
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]
noe2008
  Posté le 22/05/2016 @ 22:11 
Aller en bas de la page 
Petit astucien

Salut les amis

je travaille sur une macro dans le tableau de scolarité de l’année prochaine

Je souhaite créer une macro afin de préparer le tableau de scolarité de l’année prochaine pour cela dans le tableau de scolarité de l’année actuelle je saisi dans les cellules des résultats de fin d’année :

A : pour les admis

R : pour les non admis

Le but de cette macro est de réorganiser les élèves de chaque niveau scolaire pour l’année prochaine

Exemple : les élèves non admis de la 4AP et les admis de la 3AP de l’année actuelle devront être regroupé dans le tableau de scolarité de la 4AP de l’année prochaine

Le classeur est compose de 6 feuilles de la 1AP à 6AP

Les admis de la 6AP ne devront plus exister dans le classeur de l’année prochaine car ils iront au collège

Aider moi pour importer les données du classeur année actuelle vers le classeur année prochaine et merci infiniment

vous trouverez le deux fichiers en fichier joint :

http://www.cjoint.com/c/FEwuhEN7HCB

Publicité
ferrand
 Posté le 22/05/2016 à 22:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Petite question : à quoi correspondent les numéros (colonne à droite), on les ignore pour transférer ?

Cordialement.

noe2008
 Posté le 22/05/2016 à 23:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ce sont des numéros d'ordre uniquement on peut les ignorer si on veut

ferrand
 Posté le 22/05/2016 à 23:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Et cadrage des données à tranférer : colonnes F à X ?

noe2008
 Posté le 22/05/2016 à 23:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

l'important c'est d'importer les noms et prénoms , date de naissance et si possible num de scolarité

ferrand
 Posté le 23/05/2016 à 00:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Tu devras attendre (à moins que quelqu'un d'autre s'y colle) car tes cellules fusionnées bloquent toute possibilité de tri.

Par conséquent l'opération ne peut plus être bouclée avec la macro de 20 lignes (déjà écrite) et devient infiniment plus compliquée, car au lieu d'avoir deux blocs par feuille il va falloir monter des tableaux alimentés élève par élève... Ce que je n'ai nulle intention de poursuivre à cette heure...

Cordialement.

ferrand
 Posté le 23/05/2016 à 01:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Peut-être pas finalement. J'ai fait 2 macros de plus, une pour défusionner, une pour fusionner.

J'essaierai ça demain dès que j'ai un moment.

noe2008
 Posté le 23/05/2016 à 08:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Ferrand

ferrand
 Posté le 23/05/2016 à 08:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

http://www.cjoint.com/c/FExgw3lvxHy

Classeur "année prochaine" qui contient les macros. Un bouton sur la feuille 1

Finalement, l'adaptation a bien fonctionné : on défusionne les 2 classeurs au départ et on les refusionne à la fin.

Mais cela ne semble pas très logique de fusionner ainsi des listes de ce type sur lesquelles on a en principe besoin d'opérer des tris.

Le transfert insère les "A" du niveau inférieur de l'année préc. en tête de liste (sauf pour la 1), suivis des "R" du même niveau année préc.

J'ai rattrapé les bordures et le centrage pour l'ensemble des lignes.

Bonne continuation.

Publicité
noe2008
 Posté le 23/05/2016 à 08:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

si la macro n'est pas si délicate et si on peut traiter le problème avec des formules ça marche pour moi

Debrief
 Posté le 23/05/2016 à 13:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

ferrand a accompli un véritable miracle avec sa macro dans ce fichier Excel bourré de cellules fusionnées. Je comprends même pas comment ça marche

Le tableau des élèves est complètement "intriable" à cause des cellules fusionnées, et même si on reportait manuellement les élèves, il faudrait le faire dans l'ordre de tri sans pouvoir utiliser le tri d'Excel ! Il faut éviter les cellules fusionnées autant que possible dans les tableaux de données.

Si j'ai un peu de temps je m'essaierai ce soir (juste pour voir un peu) comment se dépatouiller de ce truc avec un feuille intermédiaire sur laquelle j'ai pu faire et reporter le tri dans les feuilles d'origine en manuel.

Cordialement,
D.

noe2008
 Posté le 23/05/2016 à 13:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

merci ferrand vous êtes vraiment un pro

Debrief
 Posté le 23/05/2016 à 15:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Une autre approche, plus empirique, mais dans un fichier Excel séparé.

http://www.cjoint.com/c/FExm4sFgwAA

Avant de procéder, il serait bon d'homogénéiser les bordures de la colonne "resu fin année" dans les différentes feuilles.
La macro ne faisant que récupérer les lignes entre les feuilles telles qu'elles sont.

En fait, une refonte de ce fichier lui ferait du bien :)

noe2008
 Posté le 23/05/2016 à 16:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Debrief ça fonctionne

Debrief
 Posté le 23/05/2016 à 19:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Mouais, au format date près, faut que je voies.

Debrief
 Posté le 23/05/2016 à 22:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bon au final, c'était pas grand chose à modifier pour conserver le format d'origine des dates.

Pour info j'ai fait le tri sur le numéro de scolarité: voir (ALT + F11) dans la macro Const ColonneTri = "V", pour trier sur le nom, changer en Const ColonneTri = "Q"

Et pour le fun j'ai enjolivé un peu le dialogue du début pour la saisie des noms de fichiers et au passage rajouté un "save" du fichier résultat de l'année prochaine après valorisation.

http://www.cjoint.com/c/FExvazrxi0A


... / ...

Et juste au cas où tu voudrais utiliser un fichier plus simple et plus homogène tel que celui-là http://www.cjoint.com/c/FExwqLnnGEA, je peux te refaire la macro en conséquence.

Cordialement,
D.



Modifié par Debrief le 24/05/2016 00:17
ferrand
 Posté le 23/05/2016 à 23:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Publicité
PappyYves
 Posté le 24/05/2016 à 19:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bien que le sujet soit résolu, je souhaite apporter une information pour les utilisateurs d'Excel, en particulier pour noe2008, si quelqu'un lit encore ce sujet.

En tant que formateur Excel (restons modeste, formateur à mon niveau, en interne dans mon entreprise), quand on utilise Excel en tableur, c'est à dire pour des calculs, la présentation étant secondaire, j'ai toujours conseillé fortement d'éviter les cellules fusionnées, c'est la galère dans les calculs.

La plupart du temps, on fait la même présentation avec l'option "centrer sur plusieurs colonnes" pour les cellules "horizontales".

Par contre, pour centrer plusieurs cellules "verticales" je n'ai pas de solution...

Debrief
 Posté le 24/05/2016 à 20:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour PappyYves,

En effet, ta remarque est judicieuse est c'est bien ce que les réponses précédentes ont mis en évidence. D'ailleurs, le 23/05/2016 à 22:30, j'ai envoyé (pour soulager ma conscience si ce n'est pour aider le demandeur qui en avait terminé avec le sujet bien avant cela) un fichier ne contenant pas de cellules fusionnées dans la partie données (liste de élèves).

On trouve ce genre de fichier dans les administrations ou autres organisations, initialement fabriqués par des personnes non spécialement averties sur Excel et repris par d'autres personnes pour une utilisation qui va amener des transformations diverses. Le résultat final n'a d'Excel que la présentation visuelle sans les potentialités du tableur. Mais si cela répond aux besoins, why not... Surtout quand malgré cela, PC Astuces fournit les connaisseurs comme ferrand ou les bidouilleurs comme moi pour rattraper le coup .

Cordialement,
D.



Modifié par Debrief le 24/05/2016 20:07
LORENZO83
 Posté le 25/05/2016 à 03:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour le forum

Le sujet est résolu, mais j'apporte une solution basée sur un raisonnement différent.

C'est sûr qu'un tableau rempli de cellules fusionnées interdit toutes opérations de tri. le Tri est la solution première qui vient à l'esprit pour traiter ce genre de problème, seulement, dé-fusionner, filtrer, recopier chaque zone filtrée puis re-fusionner pour retrouver le tableau d'origine prend un temps énorme.

Alors pourquoi ne pas récupérer les toutes données directement dans chaque cellule ciblée et restituer le tout dans le deuxième tableau avec le même principe. Résultat une rapidité d'exécution qui n'est pas comparable avec la solution par à la précédente.

Proposition: Ouvrez les 2 fichiers (dans la même session Excel), allez sur la feuille1 de l'année actuelle et cliquez sur le bouton "Scolarité"

http://www.cjoint.com/c/FEzbA52Sebw pour l'année actuelle

http://www.cjoint.com/c/FEzbK6v46Nw pour l'année prochaine

A tester

Cordialement

Debrief
 Posté le 25/05/2016 à 09:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour LORENZO83,

Du Var ? Alors voisins.

C'est une autre solution qui fonctionne bien où tu choisis de manipuler les données individuellement plutôt que par lignes comme dans les options précédentes. Cependant tu ne fais pas de tri sur les feuilles de l'année prochaine, ce qui serait possible de faire directement dans tes tableaux en mémoire.

Au niveau du temps apparent de construction de l'année prochaine, à un chouia près c'est la même chose (1 à 2 secondes) pour les 3 solutions, et en terme de temps CPU (colonne Temps processeur à ajouter dans le Gestionnaire de Tâches), c'est quasi-identique pour les 3, sur mon PC:

Cordialement,
D.



Modifié par Debrief le 25/05/2016 09:34
noe2008
 Posté le 25/05/2016 à 15:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

salut les amis

je vous remercie tous pour vos efforts

en ce qui concerne les cellules fusionnées on ne peut rien changer car il s'agit d'un classeur qui est exporté à partir d'un portail

je souhaite que la macro une fois ouverte me demande a chercher l'emplacement du fichier année actuelle sans imposer des noms pour les deux classeur c'est à dire de cette façon :

Sub scolarité()

Dim Fich As String

Fich = Application.GetOpenFilename

Workbooks.Open (Fich)

....................................

..........................................

ActiveWorkbook.Close

............................

Debrief
 Posté le 25/05/2016 à 17:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut noe2008,

Dans le fichier que j'ai posté le 23/05/2016 à 22:30 http://www.cjoint.com/c/FExvazrxi0A la macro te demande le nom des fichiers.
Je peux la modifier pour aller chercher le fichier via l'Explorer.

Cordialement,
D.



Modifié par Debrief le 25/05/2016 17:45
noe2008
 Posté le 25/05/2016 à 19:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

je ne suis pas si fort en vba si tu peux me faire la modification ça sera tres gentil de ta part

Debrief
 Posté le 25/05/2016 à 20:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bon voilà une macro modifiée pour sélectionner les fichiers:
- Directement ou via l'Explorer pour le fichier de l'année actuelle
- Directement uniquement pour le fichier de l'année prochaine puisqu'il est créé "from scratch" à partir de l'année actuelle.

http://www.cjoint.com/c/FEzsnn7M7jr

Comme auparavant, le tri est fait sur le numéro de scolarité: voir (ALT + F11) dans la macro Const ColonneTri = "V".
Pour trier sur le nom, changer en Const ColonneTri = "Q"

Si tu trouves un bug tu me le dis....

Cordialement,
D.



Modifié par Debrief le 25/05/2016 20:13
noe2008
 Posté le 25/05/2016 à 22:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

oui pour elle impose le chemin pour le fichier annee prochaine

Publicité
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
-70%70% de réduction sur l'abonnement de 3 ans à NordVPN
Valable jusqu'au 18 Août

NordVPN fait jusqu'à ce soir une promotion sur son abonnement 3 ans qui passe à 111,82 € au lieu de 382,88 € soit une réduction de 70 %. L'abonnement vous reviendra ainsi à 3,11 € / mois. Ce VPN sérieux et rapide vous permettra de surfer anonymement (pas de log conservé) mais également de chiffrer votre connexion en déplacement ou bien d'accéder aux contenus réservés aux internaux d'autres pays (pour les matchs de football restransmis sur les sites web de certaines tv étrangeres par exemple). vous pourrez choisir parmi 5100 serveurs répartis dans 59 pays. 6 appareils peuvent utiliser simultanément le compte. 

 


> Voir l'offre
83,93 €Disque dur externe portable Seagate Basic 4 To USB 3.0 à 83,93 €
Valable jusqu'au 14 Août

Amazon fait une promotion sur le disque dur externe portable Seagate Basics d'une capacité de 4 To qui passe à 83,93 € livré gratuitement. Ce disque dur externe portable au format 2,5 pouces dispose d'une interface USB 3.0 compatible USB 2.0. Une excellente affaire pour ce disque dur qui offre des débits de 115 Mo/s. Il n'est pas soudé et est donc démontable si vous souhaitez le réutiliser ailleurs (console, NAS, PC).


> Voir l'offre
29,99 €Souris gamer Logitech MX518 à 29,99 €
Valable jusqu'au 14 Août

Boulanger solde la nouvelle version Legendary de la souris Logitech MX518 qui passe à 29,99 € alors qu'on la trouve ailleurs à 59,99 €. Cette très bonne souris dédiée aux joueurs dispose d'un capteur optique très précis Hero 16000 DPI, 8 boutons programmables et une mémoire permettant de sauvegardera 5 profils d'utilisation différents. 


> Voir l'offre

Sujets relatifs
macro pour trier un tableau et effacer les lignes sans saisie
Excel : Macro pour tableau croisé dynamique
Macro pour ajouter une ligne à la fin d'un tableau
ajout de tableau par macro
Macro pour importer des données d'un classeur externe
Macro excel pour attribution de lot
macro pour comparer 2 listes
Creation d' une boucle macro dans fichier EXCEL pour impression
macro afficher masquer lignes tableau dans word 2010
Macro pour word 2013
Plus de sujets relatifs à Macro pour un tableau de scolarité
 > Tous les forums > Forum Bureautique