Bonjour,
J'ai un problème que je n'arrive pas à résoudre.
Je me permet
J'ai un fichier (nommé "Films_2013-10.xlsm" ) avec la liste de mes films.
Il y a un onglet Sommaire.
Puis un onglet "0-D" puis "E-I", "J-N", "O-S", "T-Z".
Enfin trois onglets "A telecharger", "A venir" et "Modifs à faire".
Les colonnes des onglets sont les suivantes "Titre", "Taille fichier", "Etat", "Qualité", "Langue", "Genre", "Bon format", "Commentaire".
Je cherche à copier les valeurs des onglets "0-D", "E-I", "J-N", "O-S", "T-Z" dans la feuille appelée "Liste" d'un nouveau classeur. Pour l'explication c'est un fichier de vérification (nommé "Fichier de verif.xlsm" qui me permet de comparer la liste extraite des fichiers de mon disque dur par rapport a ma liste Excel.
En fouillant sur le site j'ai trouvé la macro suivante sur un autre forum (et je remercie l'auteur d'ailleurs).
Code :
- Sub LISTING()
- 'définition des classeurs
- Dim Classeur As Workbook
- Set Classeur = ThisWorkbook
- For i = 3 To 28 'i=3=A ; i=28=Z car 26 lettres dans l'alphabete ;-)
- Sheets(i).Activate 'activation de l'onglet
- 'copie du range voulu à l'endroit voulu
- Sheets(i).Range("A1:G2000" ).Copy Classeur.Sheets("Liste" ).Range("A100000" ).End(xlUp)(2)
- Next i
- Sheets("Liste" ).activate
- End Sub
|
Je l'ai un peu modifiée pour qu'elle ne prenne que les colonnes A et B, le titre et la taille (le reste ne m'intéresse pas pour la comparaison) et qu'elle ne me reprennent pas la ligne de titre.
Code :
- Sub LISTING()
- Dim Classeur As Workbook
- Set Classeur = ThisWorkbook
- For i = 3 To 8 'i=2=A ; i=27=Z car 26 lettres dans l'alphabet ;-)
- Sheets(i).Activate
- Sheets(i).Range("A2:B15000" ).Copy Classeur.Sheets("Liste" ).Range("A100000" ).End(xlUp)(2)
- Sheets("Liste" ).Activate
- Next i
- End Sub
|
J'ai testé la macro en créant un onglet "Liste" juste après l'onglet sommaire dans le fichier "Films_2013-10.xlsm" et elle marche très bien.
Cependant je ne sais absolument pas comment la transférer dans le fichier "Fichier de verif.xlsm" et qu'elle aille lire "Films_2013-10.xlsm" (je n'y connais absolument rien en VBA).
Merci beaucoup de votre aide.