Optimiser par une array la collecte des données multiclasseurs multifeuilles

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Voici une portion du code vba qui me permet de récupérer des informations présentes dans d'autres classeurs (nombre variable) et sur leurs feuilles (nombre variable sur critère de début du nom) :

Code:
'va chercher l'adresse des locaux
ActiveWindow.ActivatePrevious ' arrive sur le fichier qui contient les données à prélever
Sheets(feuilform).Select
Range("c7:ap7").Select 'prend la première série de valeur dont j'ai besoin (il peut y avoir de 1 à 256 colonnes)
Selection.Copy
ActiveWindow.ActivatePrevious ' arrive sur le fichier qui compilera les données prélevées
Sheets("Synthèse").Select
Range("e" & debrep).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True 'colle special valeur avec transpose
[\Code]

Je suis persuadé que l'on peut faire bien mieux car avec cette rédaction la macro s'exécute lentement.

Je pense qu'en plaçant les données dans une array on pourrait gagner du temps d'exécution car on aurait pas nécessairement besoin d'utiliser ActiveWindow.ActivatePrevious de très nombreuses fois.

Dans le fichier à partir duquel il me faut collecter les données, voici la liste des données que je prélève :
- un nom (unique quelque soit le nombre de feuilles dans le classeur)
- une référence numérique (unique quelque soit le nombre de feuilles dans le classeur)
- une référence alphanumérique (unique quelque soit le nombre de feuilles dans le classeur)
- 9 données présentes en ligne 6, 7, 8, 9, 23, 31, 37, 43 et 51 sur une feuille ou sur plusieurs (le nombre de feuille est variable selon les fichiers, certains n'en possède qu'une, d'autre par exemple peuvent en contenir 15 ou plus). Pour chaque feuille les informations se trouvent toujours sur les mêmes lignes citées ci dessus.

Dans le fichier joint se trouve l'ensemble des macros utilisées.

Merci pour votre aide.

Fabrice
 

Pièces jointes

  • Proptimisation.xls
    446 KB · Affichages: 23

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote