Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 19/02/2005, 20h08   #1 (permalink)
Eric D
Guest
 
Messages: n/a
Par défaut Comment ouvrir un classeur en le laissant inactif

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
 
ANNONCES
Vieux 19/02/2005, 21h05   #2 (permalink)
myDearFriend
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

Bonsoir Eric D,


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

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
 
Vieux 19/02/2005, 21h24   #3 (permalink)
Eric D
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

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
 
Vieux 19/02/2005, 21h35   #4 (permalink)
myDearFriend
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

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
 
Vieux 19/02/2005, 22h05   #5 (permalink)
Eric D
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

Re myDearFriend,

Merci pour ton explication et désolé pour la naïveté de ma question...

Bonne soirée.

Erric D
 
Vieux 19/02/2005, 23h46   #6 (permalink)
myDearFriend
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

Re Eric,

Pas de problème.
Ta question n'était pas si naïve que ça...

Didier_mDF
 
Vieux 20/02/2005, 06h44   #7 (permalink)
Eric D
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

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").Valu e = 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
 
Vieux 20/02/2005, 14h57   #8 (permalink)
myDearFriend
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

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
 
Vieux 20/02/2005, 17h44   #9 (permalink)
Eric D
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

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
 
Vieux 20/02/2005, 17h57   #10 (permalink)
myDearFriend
Guest
 
Messages: n/a
Par défaut Re: Comment ouvrir un classeur en le laissant inactif

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
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 18h23.


(C) 2006 Excel Downloads