Afficher une liste dans un autre classeur

N

nj

Guest
bonjour,
Etant prof, mon souhait est de choisir une classe et de voir la liste de mes élèves s'afficher dans un autre classeur (cahier d'appel ou cahier de note).
Car pour l'instant je suis obligé à chaque fois que j'ouvre un nouveau fichier de faire un copier coller depuis mon fichier 'liste classe', c'est celui où j'ai rentré tous mes noms d'élèves

Si quelqu'un peut m'aider, merci d'avance
NJ [file name=listeclasses.zip size=8550]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/listeclasses.zip[/file]
 

Pièces jointes

  • listeclasses.zip
    8.3 KB · Affichages: 33
A

aguwar

Guest
Bonsoir Nj et le Forum,

J'ai fait une petite macro dans ton fichier.
Liste validée pour choisir la classe et bouton pour lancer la macro.
Modifier les noms de feuilles et de fichiers pour que cela fonctionne avec tes fichiers.
en cas de besoin, redemande.
A+
[file name=listeclasses2.zip size=12183]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/listeclasses2.zip[/file]
 

Pièces jointes

  • listeclasses2.zip
    11.9 KB · Affichages: 26
N

nj

Guest
bonjour,
merci aguwar!
Je vais pouvoir exploiter ta macro.
Simplement j'essaye de comprendre le code (même si je ne sais pas l'écrire! ) et je ne sais pas ce que veut dire cette ligne :
'Classe = Cells(1, 7).Value'

Merci encore
NJ
 
N

nj

Guest
re-bonjour,

2 nouvelles questions :

la macro peut-elle se lancer dès que l'on a choisit la classe dans la liste ou faut-il toujours la lancer en cliquant sur le bouton?

je ne sais pas comment faire pour utiliser la macro dans un autre classeur; je m'explique; lancer la macro depuis mon nouveau classeur, voir la liste s'afficher dans mon nouveau classeur en 'récupérant' les données dans mon fichier 'listeclasses' . Il doit sans doute falloir changer le code!

Je ne sais pas si j'ai été très clair...

Merci
NJ
 
A

aguwar

Guest
Bonjour à tous et à nj,

Pour ta première question, j'ai mis des explications entre les lignes de code :

Sub Macro1()
'déclaration de variables
Dim Classe
'active le classeur dans lequel on veut travailler
Windows('listeclasses2.xls').Activate
'active la feuille dans laquelle on veut travailler
Sheets('EmploiTemps').Select
Range('A3:C3').Select
'sélection au dessous de A3:C3
Range(Selection, Selection.End(xlDown)).Select
'efface la sélection
Selection.ClearContents
Range('A3').Select
'la variable 'Classe' prend la valeur de la cellule G1 ou
'ligne 1 colonne 7 (lettre G); cette cellule construit le
'nom de la plage de cellules contenant les noms d'élèves,
'voir le menu Insertion\\Noms
Classe = Cells(1, 7).Value
'ouverture de la feuille (si elle est dans un autre fichier il
'faut mettre avant 'Windows('nom du fichier.xls').Activate'
Sheets('classes').Select
'sélection de la zone de cellules dont le nom est contenu dans
'la variable 'Classe'
Range(Classe).Select
Selection.Copy
Sheets('EmploiTemps').Select
Range('A3').Select
'copie spécial des valeurs
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range('A3').Select
End Sub

Si tu copie le code dans l'éditeur VB les commentaires seront en vert.
pour la question 2, je sais que c'est possible mais je ne sais pas le faire, il faut que je révise un peu.
Pour la question 3 la réponse est dans les commentaires.
C'est la ligne :
Windows('nom du fichier.xls').Activate
qui permet d'activer un autre fichier, il faut qu'il soit déjà ouvert

Si tu veux d'autres éléments n'hésite pas, je regarderai nos post.
Bon courage.

A+
 
N

NJ

Guest
bonjour,
Encore merci, tout est beaucoup plus clair maintenant!
Pour la dernière question, je suis un peu 'déçu' car j'aurais aimé que le fichier s'ouvre tout seul avec la macro et que je n'ai pas besoin de l'ouvrir au préalable.
Ce n'est pas très grave!
Merci
NJ
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof