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

Résolu/Fermé
Dylan68700 Messages postés 17 Date d'inscription vendredi 20 septembre 2013 Statut Membre Dernière intervention 29 janvier 2014 - Modifié par Dylan68700 le 7/01/2014 à 14:51
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 8 janv. 2014 à 10:33
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
A voir également:

1 réponse

eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
Modifié par eriiic le 7/01/2014 à 14:57
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 lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
7 janv. 2014 à 15:07
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 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
Modifié par eriiic le 7/01/2014 à 17:08
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
Yes merci, avec application. devant ça marche parfaitement.
Merci pour la réactivité, et bonne année :)
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 243
8 janv. 2014 à 10:33
Mis en résolu à ta place.
Vers ton titre en haut pour la prochaine fois.
eric
0