Quelle macro pour faire ce travail répétitif ?

SHAG

XLDnaute Nouveau
J'ai un document Excel composé de 25 feuilles.
Chaque feuille est composée de cellules (notes) qui vont chercher l'info sur d'autres documents Excel.

Ces bulletins du 1er Trimestre sont à remplir en incrémentant ces cellules de 1 dans chaque formule deux fois (sauf pour le nom et pour le code INE, une seule fois).

ce n'est pas compliqué, mais juste...très long à faire à la main: 25 feuilles x 3 Trimestres x 10 classes ! = 750 feuilles à remplir ! ARG !

Je me suis dis qu'une ch'tite macro me simplifierais certainement ce travail, mais:
1- je ne sais pas si une macro pourrais faire ce travail
2- je n'y connais rien en langage macro ... :(

Est-ce compliqué, long à réaliser en macro ? à apprendre ?
je suis ouvert à toutes les aides.

Je joins le fichier dont il est question. [file name=BulletinsBEPA1VENTE1erTrim.zip size=29757]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/BulletinsBEPA1VENTE1erTrim.zip[/file]
 

Pièces jointes

  • BulletinsBEPA1VENTE1erTrim.zip
    29.1 KB · Affichages: 24

Dugenou

XLDnaute Barbatruc
Bonjour Shag,

Il est important, sur ce forum où tu demandes de l'aide, de respecter les règles minimales de politesse un petit bonjour et un petit merci ne coutent pas grand chose ! (Un grand débat sur ce thème est en cours sur Lien supprimé)

Si je comprends bien, il s'agit de remplacer le $o$4 et le $b$3 de la feuille 1 par $o$5 et $b$4 dans la feuille 2 etc...

Merci de confirmer : si c'est le cas, il y a une solution macro relativement simple

Cordialement
 

SHAG

XLDnaute Nouveau
Oups...Désolé...j'ai effectivement oublié les rudiments de la politesse... :unsure:
Bonjour à tous et merci d'essayer de m'aider dans ce travail minutieux et qui semble très long si fait à la main.

Donc effectivement Dugenou, il s'agit bien de remplacer:

Feuille 1 Feuille 2 Feuille 3 Etc....

$o$4 $o$5 $o$6

$b$3 $b$4 $b$5


mais, il s'agit de faire appliquer cela sur TOUTES les cellules de la feuille à chaque fois contenant une formule avec ces références là (soit 63 Cellules par feuille...(Arg!))

S'il y a une solution Macro relativement simple, je suis tout ouïe à toutes propositions...

J'ai peur de ne pas être très clair, si c'est encore confue, n'hésitez pas à me demander, merci.
 

SHAG

XLDnaute Nouveau
Bonjour,

J'espère n'avoir vexer personne avec l'oublie dont j'ai fait preuve des rudiments de politesse; si c'est le cas, je m'en excuse sincèrement, ce n'est pas dans mes habitudes. Le silence qui se fait sur ce sujet me met un peu mal à l'aise et c'est pourquoi j'ai préférer poster à nouveau pour savoir ce qu'il en était.

Bonne soirée à tous et merci à tous ceux qui m'apporteront des éléments de réponse (pour mon problème excel et pour mon oublie de politesse).
 

Dugenou

XLDnaute Barbatruc
Shag,

Tu t'es excusé deux fois, j'ai bien compris que ce n'est qu'un oubli. Si je n'ai pas répondu plus vite c'est que j'étais occupé ailleurs.

Revenons à ton fichier : as-tu vraiment besoin de stocker les 25 feuille dans tes fichiers.?
Je m'explique :
- si les feuilles ne te servent qu'à imprimer : il serait plus simple de n'avoir qu'une seule feuille et de lancer la macro qui change les $O$3 en $O$4 etc avec une impression entre chaque changement. Pour ma part c'est cette technique que j'utilise pour traiter un probleme voisin dans mon travail (1 point à modifier pour simplifier la macro : toutes les données pour une même personne doivent être sur la même ligne comme ça il n'y a que le numéro à incrémenter).

- si les feuilles sont utilisées aussi pour consulter les bulletins, on pourrait imaginer de n'avoir qu'une feuille et que le choix du nom (ou d'un matricule spécifique à l'élève) affiche toutes les autres valeurs du bulletin

Edition 3 : -si tout cela ne te plait pas, tu peux aussi utiliser le principe de la macro pour modifier les feuilles une par une (il faudra spécifier le changement de feuille dans la macro : ce n'est pas impossible) dis moi ce que tu préfères

Je te prépare un petit exemple que je joindrais un peu plus tard.

Edition : Voilà l'exemple [file name=shag.zip size=14522]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/shag.zip[/file]

Message édité par: Dugenou, à: 01/09/2005 08:36

Message édité par: Dugenou, à: 01/09/2005 09:14

Message édité par: Dugenou, à: 01/09/2005 11:42
 

Pièces jointes

  • shag.zip
    14.2 KB · Affichages: 35

SHAG

XLDnaute Nouveau
Bonjour,

Génial !
Merci beaucoup Dugenou pour cet exemple à la fois simple et qui me permet de voir ce qu'il est possible de faire.
Dans cet configuration, ce serait beaucoup moins de boulot et plus pratique à utiliser au quotidien.

Je vais essayer de l'adapter aux besoins de mon établissement.

2 questions me viennent suite à l'étude de ton exemple:

1- on a une liste d'élèves dans une liste déroulante mais, doit-on nécessairement 'appeler' les noms d'élèves (qui sont dans un fichier 'promoeleves.xls') d'abord dans une feuille du document 'bulletins.xls' puis 'l'appeler' dans la liste déroulante ? ça créer des problèmes si c'est appelé en direct ?

2- Le fait d'utiliser des matières dans des noms de documents différents (mais dans le même dossier de windows) avec des cellules de références identiques ne posera t-il pas problème ?
Un exemple pour être plus clair:
Elève 1:
Note de Français d'éval du 1er Trimestre: cellule O4 du document 'BEPA 1 VENTE G1.xls'
Note d'Anglais d'éval du 1er Trimestre: cellule O4 du document 'BEPA 1 VENTE G2.xls'
Note de Biologie d'éval du 1er Trimestre: cellule 04 du document 'BEPA 1 VENTE G3(BIO).xls'
etc

ET:
Elève 2:
Note de Français d'éval du 1er Trimestre: cellule O5 du document 'BEPA 1 VENTE G1.xls'
Note d'Anglais d'éval du 1er Trimestre: cellule O5 du document 'BEPA 1 VENTE G2.xls'
Note de Biologie d'éval du 1er Trimestre: cellule 05 du document 'BEPA 1 VENTE G3(BIO).xls'
etc


Pour la consultation, je pense que je peux y arriver (il ne semble pas y avoir de langage 'macro' à l'intérieur, juste des fonctions sauf erreur de ma part). Pour l'édition, je comprend la logique (bouton d'impression en langage Macro sur la deuxième feuille basée sur la même présentation que la première feuille). Le langage Macro m'est inconnu, mais comme tu l'as bien expliqué, je pense pouvoir l'adapter à mes besoins en tatonnant un peu. Avec un peu de bol, ça marchera du premier coup... :whistle:

Merci beaucoup pour ce grand coup de pouce qui va bien m'aider à avancer.
 

Dugenou

XLDnaute Barbatruc
Mon cher Shag,

tes remerciement me vont droit au coeur : ça fait plaisir de voir quelqu'un se prendre en charge et ne pas attendre que la solution tombe toute cuite !!

Pour répondre à tes questions : question 1 : oui on est obligé d'avoir la liste des matricules (car les noms peuvent être identiques, pas les matricules) dans le même classeur que celui où on veut utiliser une liste déroulante (obtenue par donnée/validation) des matricules. On ne peut pas appeler en direct dans un autre classeur avec cette méthode.
question 2 : c'est une des 'finesses' de la macro (rassure toi elle n'est pas de moi au départ) : c'est qu'on remplace $x par $y ce qui évite de changer les noms des fichiers qui ne contiennent pas ce $

si ça marche du premier coup, c'est que tu es vraiment un crack !

un petit conseil : pour les tests tu inihibes la ligne de commande de l'impression par un simple guillemet et à la place tu fais apparaitre un userform (vide) ceci te permet de lire la feuille imprimée sans l'imprimer. dis moi si tu veux une petite démo
Un petit 'plus' pour faciliter la fabrication des bulletins : la fonction INDIRECT te permet d'utiliser un nom de fichier qui serait dans une autre cellule : on pourrait écrire sur la ligne de la note le nom du fichier qui la contient et 'calculer' l'adresse de liaison : ceci permettrait d'avoir la même formule dans toutes les cellules et simplifierait la conception des différentes feuilles


Cordialement
 

SHAG

XLDnaute Nouveau
Re-Bonjour,

Aussitôt reçu ce message, j'ai pu réussir à créer une liste déroulante dans le bulletin.
J'ai potassé la fonction RECHERCHEV, et j'ai réussi à obtenir quelquechose qui fonctionne...mais seulement avec une valeur mais pas avec une référence de valeur...ce qui est bien gênant:

Dans le document Bulletin BEPA 1 Vente 1er Trim.xls, j'arrive à mettre une liste déroulante prenant les noms dans une autre feuille de ce document.
La liste fonctionne bien (si ce n'est qu'il y a des blancs lorsqu'il n'y a pas de nom d'élève entre 2 élèves...mais bon, je pense que ça ne doit pas être très compliqué à gérer et ce n'est pas le plus urgent).

J'ai nommé la zone du fichier (BEPA 1 VENTE G1.xls) dans lequel s'effectue la recherche :'donnees' en incluant les noms des élèves et les moyennes.

MAIS, lorsque je met dans la Cellule (du document BEPA 1 Vente 1er Trim.xls) correspondant aux notes Français (C10):



=RECHERCHEV($G$1;'BEPA 1 VENTE G1.xls'!donnees;15;FAUX)

il m'affiche une erreur #N/A...

J'ai essayé de remplacer FAUX par 0, mais ça ne fonctionne pas mieux.
J'ai pensé que ça venait du fait que les noms du document (BEPA 1 VENTE G1.xls) venaient d'un autre document (Inscriptions.xls) et que cela perturbait la fonction. J'ai donc ajouté une colonne dans BEPA 1 VENTE G1.xls avec le nom de l'élève recherché mais...toujours rien !
j'ai pensé ensuite que ça venait du fait que c'était un nom et un prénom avec un espace entre les 2...mais non.

Après pas mal de tatonnement, je suis un peu à court d'idée.
Je poste donc mes 2 fichiers (dans l'archive ZIP) en espérant que quelqu'un trouvera l'erreur que j'ai certainement faite mais que ARG! je ne trouve pas... :S

Merci de votre aide. [file name=Bulletins.zip size=18452]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Bulletins.zip[/file]
 

Pièces jointes

  • Bulletins.zip
    23.4 KB · Affichages: 30
  • Bulletins.zip
    23.4 KB · Affichages: 30
  • Bulletins.zip
    23.4 KB · Affichages: 22

Dugenou

XLDnaute Barbatruc
Salut,

Excuses moi, j'étais en réunion.

J'ai envie de dire : erreur de débutant : la zone 'données' doit impérativement commencer par la colonne contenant le mot recherché et donc commencer à la colonne B et pas à la colonne A.

A bientot pour la suite
[file name=bulletins.zip size=23984]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/bulletins.zip[/file]
 

SHAG

XLDnaute Nouveau
Re-Bonjour,

J'ai réglé le problème de l'affichage de la note...

L'erreur était que je nommais la plage de cellule du document des notes en commençant par la colonne A1, alors qu'il n'y a pas de nom dans cette colonne...
Toujours mettre ce qu'on veut chercher dans la 1ere colonne de la plage nommée.
en cherchant sur le net, j'ai fini par trouvé.
Désolé du dérangement avec cette bêtise... :S

EDIT: Merci beaucoup pour ta réponse. ;)

Message édité par: SHAG, à: 01/09/2005 16:50
 

Dugenou

XLDnaute Barbatruc
Mon cher SHAG,

J'espère bien que tu reviendra sur ce post pour voir ce que je viens de te préparer. Comme je savais pas quoi faire après avoir tondu la pelouse (car bien que Lillois, je ne vais pas à la Braderie) : j'ai préparé une démo compléte de mon idée avec des fonctions INDIRECT.

Voici donc un fichier tous bulletins qui fonctionne de la façon suivante.

Dans la feuille consultation, tu choisis la classe (bepa 1 ventes, bepa commerce, bepa2 ...) et la liste des élèves change quand tu cliques dans la cellule du nom de l'élève. Toutes les notes de l'élève s'affichent.

Dans la feuille impression même principe avec bouton d'impression qui lance la macro et bouton de test de l'impression pour pas gacher du papier.

ce fichier doit se trouver dans le même répertoire que les fichiers de notes et le fichier inscriptions (que j'ai refait pour que ça marche chez moi) et doit être ouvert en dernier (les fichiers de notes doivent être ouverts avant car la fonction INDIRECT ne marche pas sur des fichiers fermés.
Comme l'ensemble et un poil trop gros je te mets le fichier bulletins dans ce message et les données dans le message suivant.

Dis moi si ça te plait : je suis à ta disposition pour répondre à tes questions.

Edit : oouups espace dans le nom du zip = loupé !
Cordialement [file name=tousbulletins.zip size=22204]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tousbulletins.zip[/file]

Message édité par: Dugenou, à: 03/09/2005 19:15
 

Pièces jointes

  • tousbulletins.zip
    21.7 KB · Affichages: 27

Dugenou

XLDnaute Barbatruc
Re,

et voici les données : à détacher dans le même répertoire que le fichier précédent.

Bye [file name=donneesbull.zip size=43495]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/donneesbull.zip[/file]
 

Pièces jointes

  • donneesbull.zip
    42.5 KB · Affichages: 26

SHAG

XLDnaute Nouveau
Cher Dugenou,

Me revoilà avec une surprise très agréable ! C'est vraiment très sympa d'avoir fait ce travail ! Ouaaaa ! Chapeau et merci beaucoup: c'est très enrichissant et ça me permet de voir une partie de la puissance d'excel... Belle maitrise de l'outil !
ça serait l'utilisation idéale :
1 seul document Excel gérant la consultation et l'édition des bulletins de toutes les classes. Le principe est génial.
Mais, il y a deux petit hic:
Il faut, semble t-il ouvrir TOUS les fichiers avant de consulter ou d'éditer un ou plusieurs bulletins, soit 14 documents (que je ne peux absolument pas regrouper en 1 seul car les documents doivent pouvoir être remplis par des personnes sur un réseau de 5 PC, et ces documents, s'ils étaient regroupés, ne pourraient vraisemblablement pas être modifiés en même temps).
De plus, les bulletins ne sont pas tout à fait identiques d'une filiaire à l'autre :
BEPA 1 Vente et BEPA 2 Vente : identiques

BEPA 1 SAP et BEPA 2 SAP: identiques

4ème A1 et 4ème A2 : identiques

3ème A1 et 3ème A2 : identiques

CAPA 1 et CAPA 2: identiques

ça nous fait donc 5 types de bulletins légèrements différents les uns des autres.
Donc mettre en application cette idée par filiaire me semblerait une excellente idée: 5 documents excel de bulletins représentant les 5 filiaires.
Il ne faudrait cependant pas avoir à ouvrir les fichiers de notes auparavant...ça rendrait l'utilisation plus lourde et ça risquerait d'être sujet aux mauvaises manipulations...

N'existerait-il pas un moyen (sans que ça soit non plus trop complexe à mettre sur pied) de faire comme ta démo un bulletin de consultation et édition des bulletins par filiaire dans un seul document excel ET qu'il ne soit pas nécessaire au préalable d'ouvrir les documents des notes ?

Ce système ne prend pas en charge la consultation par trimestre (3 trimestre), mais j'imagine que ça ne doit pas être beaucoup plus compliqué d'ajouter ce genre de liste déroulante. Je pense que si je comprend le principe des 2 listes déroulantes 'classe' et 'élève', ça doit pouvoir se faire avec la même logique...qu'en penses-tu ?

Fais moi part de tes idées, questions, etc.

Encore merci pour ton soutiens dans ce projet qui me tiens à coeur.

A bientôt.
 

Discussions similaires

Statistiques des forums

Discussions
312 970
Messages
2 094 044
Membres
105 926
dernier inscrit
Odyssea