Fermer 2 classeurs

sebastien450

XLDnaute Occasionnel
Bonjours à tous déja!
J'ai un petit soucis, pour mon étude j'ouvre simultanément 2 classeurs Excel.
Mon problème se présente car j'aimerais également que les 2 classeurs se ferme! Ma macro est la suivante:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
UserForm1.Show

' rep = InputBox("date")
' Range(Y28) = rep


Sheets("Commande Out 9009").Select
Dim c As Range
Range("J4:J10").Name = "zone1"
Range("J12:J63").Name = "zone2"
For Each c In Union([zone1], [zone2])
If (c) = "OUI" Then
MailAvecOEouWinMail1

Exit Sub
Cells(11, 11) = "9"
End If
Next
Exit Sub

End Sub


Seulement je ne sais pas comment faire pour qu'il ferme l'autre classeur!
 

JCGL

XLDnaute Barbatruc
Re : Fermer 2 classeurs

Bonjour à tous,

Avec le code déposé, il m'est impossible de te répondre... : il n'est question d'aucun classeur mais seulement d'une feuille...

Mais si mes camarades ont la boule de cristal qui va bien, je serai le premier à faire mon mea culpa...

A+
 

cbea

XLDnaute Impliqué
Re : Fermer 2 classeurs

Bonjour à tous,

Je ne sais pas si j'ai bien compris :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
UserForm1.Show

' rep = InputBox("date")
' Range(Y28) = rep


Sheets("Commande Out 9009").Select
Dim c As Range
Range("J4:J10").Name = "zone1"
Range("J12:J63").Name = "zone2"
For Each c In Union([zone1], [zone2])
    If (c) = "OUI" Then
        MailAvecOEouWinMail1
    
        [COLOR="red"]Exit For[/COLOR]
        Cells(11, 11) = "9"
    End If
Next

[COLOR="Red"]Application.Quit[/COLOR]
End Sub
 

sebastien450

XLDnaute Occasionnel
Re : Fermer 2 classeurs

C'est vrai que je n'ai pas été trés clair excusez moi!
je reprend donc:
j'ai un classeur 1 qui fait apelle lors de son ouverture à l'ouverture du classeur 2.
Ceci est necessaire puisque le classeur 1 a des formules où les données sont dans le classeur 2.
Seulement quand je ferme le classeur 1 j'aimerais qu'il me ferme le classeur 2. Dans le code il y a d'autre fonction tel que l'envoi d'un mail sous certaines conditions .. je ne souhaite pas modifier cela bien sur.
J'ai grace a l'assistant de création des macros mis le code suivant:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
UserForm1.Show

' rep = InputBox("date")
' Range(Y28) = rep


Sheets("Commande Out 9009").Select
Dim c As Range
Range("J4:J10").Name = "zone1"
Range("J12:J63").Name = "zone2"
For Each c In Union([zone1], [zone2])
If (c) = "OUI" Then
MailAvecOEouWinMail1

Exit Sub
Cells(11, 11) = "9"
End If
Next
Exit Sub

Windows("Gestion Stock Ressorts.xls").Activate
ActiveWindow.Close

End Sub


Le classeur 2 dans mon code s'apelle "Gestion Stock Ressorts.xls".
Malheureusement ma macro ne marche pas donc je ne sais pas comment faire! C'est là que je vous solicite!
Merci.
 

cbea

XLDnaute Impliqué
Re : Fermer 2 classeurs

Re bonjour,

En fait, les instructions "Exit Sub" t'empêchent de fermer ton 2me classeur.
C'est pour cette raison que j'ai modifié la procédure comme suit :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
UserForm1.Show

' rep = InputBox("date")
' Range(Y28) = rep


Sheets("Commande Out 9009").Select
Dim c As Range
Range("J4:J10").Name = "zone1"
Range("J12:J63").Name = "zone2"
For Each c In Union([zone1], [zone2])
    If (c) = "OUI" Then
        MailAvecOEouWinMail1
        Cells(11, 11) = "9"
        Exit For
    End If
Next

Windows("Gestion Stock Ressorts.xls").Activate
ActiveWindow.Close

End Sub

Peux-tu faire un test ?
Merci
 

sebastien450

XLDnaute Occasionnel
Re : Fermer 2 classeurs

J'ai fait le test et dsl ca ne marche pas.
Je pense qu'il y a un point que je n'ai pas préciser qui est assez important:
Dans la formule pour envoie du mail il y a une référence qui est contenue dans le classeur2.
j'avoue je ne sais pas quoi faire là..
 

cbea

XLDnaute Impliqué
Re : Fermer 2 classeurs

re bonsoir Sébastien450,

Je viens d'effectuer un test avec 2 fichiers que j'ai créé.
Voici la procédure qui fonctionne chez moi :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
UserForm1.Show

' rep = InputBox("date")
' Range(Y28) = rep


Sheets("Commande Out 9009").Select
Dim c As Range
Range("J4:J10").Name = "zone1"
Range("J12:J63").Name = "zone2"
For Each c In Union([zone1], [zone2])
    If (c) = "OUI" Then
        MailAvecOEouWinMail1
        Cells(11, 11) = "9"
        Exit For
    End If
Next

Workbooks("Gestion Stock Ressorts.xls").Close

End Sub

Peux-tu remplacer ton code par celui-ci et me dire si cela fonctionne ?
Merci
 

sebastien450

XLDnaute Occasionnel
Re : Fermer 2 classeurs

Tien je te donne les 2 fichiers qui sont en liaison.
Tu verra pas mal de données et autres mais avec le fichier tu va tout comprendre.
Merci de m'aider.
 

Pièces jointes

  • Gestion Stock Ressorts aide web.zip
    10 KB · Affichages: 17
  • Gestion Stock Ressorts aide web.xls
    37 KB · Affichages: 252

sebastien450

XLDnaute Occasionnel
Re : Fermer 2 classeurs

Excuse moi j'ai mis deux fois le meme fichier: tien je te passe le second. J'ai du virer beaucoup de choses mais j'ai garder l'esprit pour que tu saisisse le problème.
 

Pièces jointes

  • RPUP BASE B-5 OUT 9009web.zip
    45.4 KB · Affichages: 17

cbea

XLDnaute Impliqué
Re : Fermer 2 classeurs

Je viens de faire plusieurs essais et la fermeture du second fichier s'effectue correctement et ainsi que la réouverture.
Pour contre, pour faire des essais, j'ai du modifier le répertoire d'appel du second fichier à l'ouverture du premier puisque je n'avais pas le même répertoire sur mon pc.
Est-ce que les 2 fichiers se trouvent dans le même répertoire ?

Après je ne vois pas ce qui peut se passer sur ton pc.
 

sebastien450

XLDnaute Occasionnel
Re : Fermer 2 classeurs

Non les deux fichier ne se trouve pas dans le meme repertoire et je suis sous Vista!
je commence par fermer le Classeur qui s'apelle" base 5 Out..."
Je te confirme ca marche moi aussi!
Il n'y a pas moyen que je te passe l'intégralité du classeur ( 83Ko zippé) pour essayer car ca doit venir de ce que j'ai viré!
 
Dernière édition:

Discussions similaires

Réponses
0
Affichages
269
Réponses
10
Affichages
747

Statistiques des forums

Discussions
313 868
Messages
2 103 107
Membres
108 522
dernier inscrit
Matoche