Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier des données sans afficher le classeur

  • Initiateur de la discussion Initiateur de la discussion Rewstah
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

Rewstah

Guest
Bonjour à tous,

Je viens voir par ici car depuis quelques jours je développe sous exel 2007 une petite base de données. Ma question ne porte pas sur la base de données, mais sur les manières de la rendre plus "pro". Je m'explique:

J'ai une base de données de modèles de voitures dans un classeur "BDD.xls" séparé, et un autre classeur "Interface.xlsm", composé d'une feuille "consultation" et d'une feuille "calculs".
A chaque ouverture d'Interface.xlsm, le classeur "BDD.xls" est ouvert par macro pour mettre à jour les données (copier-coller automatisé entre les deux classeurs).

Le problème est qu'à chaque éxécution, BDD.xls est ouvert, puis Interface.xlsm est réactivé, le tout très rapidement, ce qui donne un "scintillement".
Y a-t-il un moyen d'éviter d'avoir à activer (afficher) le document sur lequel on souhaite copier des données par macro? Ou même de modifier une feuille ou un classeur séparé sans avoir à l'activer?

Merci beaucoup!
 
Re : Copier des données sans afficher le classeur

Dans la macro, au lieu de mettre

Code:
Application.Workbooks.Open(chemin du fichier)

il faut mettre
Code:
GetObject(chemin du fichier)

et penser à fermer le document via la macro.

Enfin je connais pas ton code, mais je ne dois pas être loin 🙂
 
Re : Copier des données sans afficher le classeur

Merci pour la réponse éclair!

Malheureusement mon entreprise m'interdit d'envoyer un fichier exemple, je ne peux donc pas te montrer mon code...
Mais effectivement, tu es très proche! 😀
Et une fois "BDD.xls" ouvert par la méthode GetObject, par exemple, comment puis-je copier du contenu dans "BDD.xls" pour le coller sur "Interface.xlsm", sans changer de fenêtre?
 
Re : Copier des données sans afficher le classeur

Après tu l'utilises dans la macro comme si le fichier était "visible", y'a rien à changer. Et comme on ne voit pas le fichier, il ne devrait pas y avoir de changement de fenêtre...
De toute façons, sur tous les traitements impliquant des écritures dans un classeur, je conseillerais de désactiver le rafraichissement de l'écran. A ce moment là, plus de problèmes !

Application.ScreenUpdating = false 'pour désactiver
Application.ScreenUpdating = true 'pour réactiver
 
Re : Copier des données sans afficher le classeur

Petit Up pour dire merci, ta méthode marche parfaitement!
J'ai déjà un peu plus de mal avec la méthode GetObject mais ça viendra.

Merci beaucoup!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
453
S
Réponses
11
Affichages
2 K
C
Réponses
8
Affichages
2 K
Genii
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…