VBA: éviter visuellement le passage d'une feuille à l'autre

Résolu
Dylan68700 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

j'ai mis en place des macros dans un fichier, pour qu'il soit plus facile à prendre en main.

Mes macros fonctionnent, néanmoins j'aimerais savoir s'il était possible de modifier mon code afin de ne plus avoir à "subir" les changemets de feuilles lors de l'exécution de la macro ?

En d'autres termes, comment peut-on remplacer le fameux "Sheets("X").Activate", et rester sur la feuille d'origine, tout en récupérant des informations de la page "X" pour les coller dans cette feuille d'origine ?

Exemple, dans mon cas j'ai deux feuilles, nommées "2013" et "LISTE 2013". Voici le début de ma macro. En m'aidant juste sur ce petit morceau de code, je pourrais l'adapter au reste:

Sheets("2013").Activate
ActiveSheet.Range("$A$1:$AB$31").AutoFilter Field:=9, Criteria1:="100€"

D_L_C = Range("A" & Rows.Count).End(xlUp).Row
Range("A1:A" & D_L_C).Copy (Sheets("LISTE 2013").Range("A7"))

Ainsi, ma macro permet d'aller récupérer des données de la feuille "2013" selon la condition "100€", et de les coller dans la colonne A de la feuille "LISTE 2013" à partir de la cellule A7.

Est-il possible de simplifier ce code, dans le but de ne plus voir le passage d'une feuille à l'aute lors de l'exécution de la macro ?

Merci à vous,

Dylan68700

1 réponse

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 273
 
Bonjour,

tu pourrais (quoique certaines actions necessitent une feuille active dont peut-être le filtre) mais plutôt que de tout reprendre ajoute :
screenupdating = false
au début du code. En plus ça ira beaucoup plus vite.

eric

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour, salut Eriic (et bonne année si je ne l'avais pas encore fait)
petite question:
je viens de tester ta proposition sur des fichiers que j'utilise, et bizarrement elle ne donne pas le m^me résultat que que la ligne que j'emploie, à savoir
Application.screenupdating = false
je ne doute pas que tu puisses me dire pourquoi pour satisfaire ma curiosité
Salut en attendant
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 273
 
Salut vaucluse, tous mes voeux pour 2014

oui, tu as raison, il faut bien Application. devant. Réponse trop rapide...
De toute façon, sans vba ne comprend pas

eric
0
Dylan68700
 
Yes merci, avec application. devant ça marche parfaitement.
Merci pour la réactivité, et bonne année :)
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 273
 
Mis en résolu à ta place.
Vers ton titre en haut pour la prochaine fois.
eric
0