empêcher clic sur bouton "ouvrir classeur" si classeur déjà ouvert

pascal21

XLDnaute Barbatruc
bonsoir le forum
sur un classeur A j'ai des boutons pour fermer ou ouvrir des autres classeurs
le problème est que si le classeur B (par exemple)est déjà ouvert et que je clic sur "ouvrir classeur B" , j'ai une erreur
comment masquer le bouton "ouvrir classeur B" si celui ci est déjà ouvert
et même chose sur la fermeture
empêcher le clic sur le bouton "fermer classeur B" si classeur B est fermé
j'ai essayé en masquant "bouton fermer sur le clic du bouton "ouvrir" et vice et versa
mais si je ferme le classeur B à la main (croix) et bien les boutons ne le savent pas
merci de votre aide
 
G

Guest

Guest
Re : empêcher clic sur bouton "ouvrir classeur" si classeur déjà ouvert

Hello,

Code:
Bouton_qui_Ouvre_Classeur_B_Quand_Click()
 'Ici l'action qui Ouvre le classeur B
 Bouton_qui_Ouvre_Classeur_B.enabled=false
End Sub

A+
 

pascal21

XLDnaute Barbatruc
Re : empêcher clic sur bouton "ouvrir classeur" si classeur déjà ouvert

bonsoir Hasco
oui c'est bien ça mets un voile sur le bouton et il est non fonctionnel
mais comment je le recupère le bouton
Code:
Private Sub CommandButton5_Click()

Windows("classeur entretien Mulhouse.xls").Activate
    
    ActiveWindow.Close
 CommandButton5.Enabled = False
 CommandButton4.Enabled = True
End Sub

Private Sub CommandButton4_Click()

Workbooks.Open Filename:= _
        "D:\classeur entretiens\classeur entretien Mulhouse.xls"

CommandButton4.Enabled = False
CommandButton5.Enabled = True
End Sub
j'ai mis ça mais les boutons ne redeviennent pas fonctionnels
 
G

Guest

Guest
Re : empêcher clic sur bouton "ouvrir classeur" si classeur déjà ouvert

Re,

Voici une autre façon de faire, sans iniber le bouton.
Il teste si le classeur est ouvert
Si non -> ouverture du classeur
Si oui - > activation du classeur

Code:
Private Sub CommandButton1_Click()
    Dim wb As Workbook
    On Error Resume Next
    Set wb = Workbooks("classeur entretien Mulhouse.xls")
    If Err.Number > 0 Then
    Set wb = Workbooks.Add("D:\classeur entretiens\classeur entretien Mulhouse.xls")
    Else
        wb.Activate
    End If
End Sub

A+
 

Discussions similaires

Réponses
4
Affichages
322

Statistiques des forums

Discussions
312 184
Messages
2 086 008
Membres
103 088
dernier inscrit
Psodam