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+