Excel - Subscript out of range - Copier une feuill/des données dans un autre fic

Signaler
Messages postés
3
Date d'inscription
vendredi 8 avril 2011
Statut
Membre
Dernière intervention
12 avril 2011
-
Messages postés
3
Date d'inscription
vendredi 8 avril 2011
Statut
Membre
Dernière intervention
12 avril 2011
-
Bonjour,

Ce que j'essaye de faire : je souhaite executer une macro Excel qui va ouvrir un fichier excel, qui va copier une feuille de ce fichier pour l'insérer dans le fichier excel à partir duquel j'execute la macro (ce fichier est lui aussi déjà enregistré). Ensuite je repère dans une colonne tous les matricules employé que je peux trouver pour aller copier ces matricules employés en-tête de colonne dans un autre tableau.

Voici mon code :

    Workbooks.Open Filename:= _
        "C:\Documents and Settings\XXX\Desktop\Yearly Review (version DJ).xls"
    Sheets("Weekly Performance").Select
    Sheets("Weekly Performance").Copy After:=Workbooks("LIST520.CSV").Sheets(1)
    
        Sheets("LIST520").Select
    Columns("M:M").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("P1"), Unique:=True
    Range("P2:P15").Select
    Selection.Copy
    Sheets("Weekly Performance").Select
    Range("F21").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True


Quand je l'execute, j'obtiens un message d'erreur "subscript out of range". J'ai l'impression que la macro se bloque juste après la copie des matricules employé.

Je dois bien dire que je suis amateur en macro excel car je combine des codes générés par l'enregistrement automatique d'une macro et des bouts de codes que je peux trouver par ci par là. Mais là j'ai pas trouvé ma solution en ligne...

Merci pour votre collaboration pour me faire avancer sur ce problème

Damien

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut

Tu penses à préciser le nom de la Sheet sur laquelle tu veux travailler, mais tu oublies de sélectionner le classeur concerné avant.
Voir WorkBooks("le nom")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
3
Date d'inscription
vendredi 8 avril 2011
Statut
Membre
Dernière intervention
12 avril 2011

Pardon, mais je n'ai pas très bien compris que ce que tu essayes de m'expliquer. Quel élément de mon code pointes-tu ?

Merci

Damien
Messages postés
3
Date d'inscription
vendredi 8 avril 2011
Statut
Membre
Dernière intervention
12 avril 2011

Donc si je comprend bien il faut que je rajoute un bout de code du style
WorkBooks(LIST520.CSV).activate


juste avant
Sheets("LIST520").Select
    Columns("M:M").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("P1"), Unique:=True
    Range("P2:P15").Select