Comment ouvrir un classeur en le laissant inactif

  • Initiateur de la discussion Initiateur de la discussion Eric D
  • 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 !

E

Eric D

Guest
Bonjour à toutes et tous,

Je n'est tjs pas résolu mon Pb de copie de cellule d'1 classeur vers celui que je viens d'ouvrir, mais maintenant j'ai compris pourquoi, satisfaction de débutant: le classeur que j'ouvre devient actif et le classeur appelant inactif, donc il n'execute pas les instructions suivant l'ouverture.

Ma question est donc devenue:

Comment ouvrir un classeur en VBA mais en le laissant inactif jusqu'à la fermeture du classeur appelant ?

ou

Comment un classeur peut en ouvrir un autre en le laissant inactif, de façon à finir les instructions du module avant de se fermer, de façon à passer la main au classeur qu'il vient d'ouvrir?

Merci pour votre aide à un débutant.

Bonne soirée,

Eric D
 
Bonsoir Eric D,


Ci-dessous une procédure qui devrait faire ce que j'ai cru comprendre de ta Lien supprimé...

Sub MAJClasseurCible()
Dim don As Variant
   'Détermination de la variable "don"
   don = ThisWorkbook.Sheets("Feuil1").Range("A90").Value
   'Ouverture du classeur cible
   Workbooks.Open "C:\ClasseurCible.xls"
   'Mise à jour de la cellule A100 de la feuille 1 de ce classeur cible (qui est devenu le classeur actif)
   ActiveWorkbook.Sheets("Feuil1").Range("A100").Value = don
   'Sauvegarde et ferme le classeur de départ
   ThisWorkbook.Save
   ThisWorkbook.Close
End Sub

A noter qu'il convient de placer cette procédure dans un module de code "standard", c'est à dire autre qu'un module de code d'une feuille du classeur appelant.


Cordialement.

Didier_mDF
myDearFriend-3.gif
 
Bonjour myDearFriend, Re le forum

Merci pour ton aide myDearFriend, mais que veux tu dire par

"A noter qu'il convient de placer cette procédure dans un module de code "standard", c'est à dire autre qu'un module de code d'une feuille du classeur appelant."

@ Plus.

Eric D
 
Re Eric,


Cela signifie simplement que lorsque ton code intervient sur d'autres feuilles et notamment dans d'autres classeurs que celui qui contient le code, il est toujours souhaitable de ne pas saisir cette procédure dans un module "Private" de feuille, mais plutôt dans un module autre (celui que tu crées en faisant "Insertion / Module" dans VBE). Ce n'est évidemment pas une obligation dans tous les cas de figure, mais tu verras que ça peut parfois t'éviter certains problèmes...


Cordialement.

Didier_mDF
myDearFriend-3.gif
 
Bonjour Didier mDF, le Forum

Et oui C encore moi !!!

Comme tu me l'a dis hier, j'ai créé un module '(fenêtre Projet-VBAProjet) insertion - module)' dont voici le code (le tien légèrement modifié):

Sub MAJClasseurCible()
Dim fap As String
Dim don As String
fap = Range("A90").Value
don = Range("A100").Value
Workbooks.Open fap ' ouvre le fichier cible
'Mise à jour de la cellule A100 de la feuille 1 de ce classeur cible
ActiveWorkbook.Sheets("Feuil1").Range("A100").Value = don
'Sauvegarde et ferme le classeur de départ
ThisWorkbook.Save
ThisWorkbook.Close
End Sub

Mais il n'écrit tjs pas 'don' ds le classeur fap
Où est l'HORREUR ?

A bientôt.

Eric D
 
Bonjour Eric D, le Forum.

Reste à savoir ce que contiennent fap et don...
Tu devrais essayer en spécifiant le chemin complet de tes ranges :

fap = ThisWorkbook.Sheets("Feuil1").Range("A90").Value
don = ThisWorkbook.Sheets("Feuil1").Range("A100").Value

... ou quelque chose comme ça.

Et si ça ne marche toujours pas, je te conseillerais de joindre ton classeur ici (Zip de 50 Ko maxi) afin qu'on puisse voir ce qui ne va pas...

Cordialement.

Didier_mDF
myDearFriend-3.gif
 
Bonjour Didier_mDF

J'ai essayé de spécifié avec 'ThisWorkbook' ce qui donne le même résultat ie aucun 'grrrrr'.

Pour ce qui es de faire passer le dossier, il fait ~750k0 avec la meilleur compression possible...

Les variables fap et don sont du type:

fap =C:\rep1\rep2\rep3\rep4\bnfgngnnfgn- 16 - Contrat 165 . - 200205 - sdf sdfvv.xls


don =
"Date de réservation le 20/02/2005

Organisateur : ghfgh
Adresse : gbdfgd
Contact : gdfgdfg
Tel : Bur : 00 00 00 00 00
Fax :
Portable :
Email : Sté : fgrdf@fdsf.Fr
Animation : sdf sdfvv
Lieu : bnfgngnnfgn
Contrat 165 . Date : jeudi 8 Déc, 05"

J'ai bien les bonnes valeurs car je les surveille par des ranges 'mouchards'

Que faire ???

Désolé pour la prise de tête, mais merci pour ton aide.

Eric D
 
Re Eric D,

Bon, c'est pas mon habitude mais là, je crois qu'on ne peut faire autrement... Si tu veux tu peux me joindre ton fichier (exempt de données confidentielles) par mail, je verrai ce que je peux faire...

Cordialement.

Didier_mDF
myDearFriend-3.gif
 
- 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

Retour