Condition pour ouvrir un fichier

P

Pias

Guest
Bonsoir le Forum

Je souhaite faire le macro suivant :

Le fichier B s’ouvre seulement a la condition que la Feuil1 do fichier A est aussi ouverte cas contraire un message s’affiche et 5 secondes après le fichier se ferme.

Merci beaucoup d’avance si quelqu’un peu m’aider a le réaliser .

Amicalement

...On se lasse de tout sauf d’apprendre !..
 
@

@+Thierry

Guest
Bonsoir Pias, le Forum

On pourrait faire ceci : (dans le Private Module de ThisWorkBook du FichierB)

Private Sub Workbook_Open()
On Error GoTo CasNonOuvert
Workbooks("FichierA.xls").Sheets("Feuil1").Activate
MsgBox "La Macro peut tourner le FichierA est bien Ouvert"
ThisWorkbook.Activate
Exit Sub
CasNonOuvert:
Msgbox "Niet Niet on ferme Tout, ouvrez le FichierA"
ThisWorkbook.Close 0
End Sub


Je ne vois pas l'utiliter d'attendre 5 secondes (on ferait mieux de faire ouvrir le FichierA par VBA !!!!) mais si tu y tiens tu changes les dernières ligne de code comme suit :

CasNonOuvert:
Application.OnTime Now + TimeValue("00:00:05"), "TheCloser"
End Sub

Private Sub TheCLoser()
ThisWorkbook.Close 0 'sans sauver sinon True ou 1
End Sub


Et si tu veux plutot ouvrir ton FichierA (si il existe of course sinon Bug) alors :

Private Sub Workbook_Open()
TheStart:
On Error GoTo CasNonOuvert
Workbooks("0001Test.xls").Sheets("Feuil1").Activate
MsgBox "La Macro peut tourner le FichierA est bien Ouvert"
ThisWorkbook.Activate
Exit Sub
CasNonOuvert:
Workbooks.Open "C:\Mes Documents\0001Test.xls"
GoTo TheStart
End Sub


Bonne Nuit
@+Thierry
 
R

Ronan

Guest
Bonsoir,

Un petit exemple :

Sub Ouvre()
Dim NomClasseur As String, NomFeuille As String
NomClasseur = ActiveWorkbook.Name
NomFeuille = ActiveSheet.Name
If NomClasseur = "Classeur1.xls" And NomFeuille = "Feuil1" Then
Workbooks.Open "c:\Classeur2.xls"
Else
MsgBox "Opération non autorisée", vbOKOnly
With Workbooks("classeur1.xls")
.Save
.Close
End With
End If
End Sub

Dans le cas présent, le fichier "Classeur2.xls" ne s'ouvre que si le classeur actif est "Classeur1.xls" et si la feuille active est "Feuil1" sinon un message box apparait et lors du clique sur le bouton OK, le classeur "Classeur1.xls" est sauvegardé et fermé

@+

Ronan
 
P

Pias

Guest
Salut, Thierry, Ronan et le Forum

Un tout grand merci a vous deux.
Je viens de tester sur mon application et ça fonctionne.
Du coup une épine de moins pour moi.

Je ne sais pas comment vous remercier, si je pouvais je vous donnerais un Kilo de chocolat Suisse !

Mais peut-être que ça peut se faire pour ma prochaine visite a Monaco !
Même si je ne sais pas ton adresse Thierry, Je vais demander a Didier Deschamps je suis sur qu’il connais un supporter de Monaco comme toi, et si tu aide A.S.M comme tu aide le forum c’est pas étonnent la saison qu’ils ont fais l’année dernier. ( ils ont de la chance ….)

Bonne nuit a vous tous et Merci le Forum

Amicalement

...On se lasse de tout sauf d’apprendre !..
 

Discussions similaires

Réponses
36
Affichages
2 K
Réponses
2
Affichages
789
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 428
Messages
2 088 332
Membres
103 814
dernier inscrit
Lolo280277