Fermer un fichier Excel en vb ?

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

M

Mosquitout

Guest
Bonjour,
Peut-on fermer un fichier 'Toto.xls' à partir d'une appli vb si celui-ci n'a pas été crée dans cette appli ? C.a.d je fais un test pour voir si ce fichier est ouvert et si oui je veux le fermer.
???
 
bonjour

tu peux tester cette macro

Private Sub Command1_Click()
Dim Wb As Excel.Workbook

'nécéssite d'activer la reference Microsoft Excel xx.x 0bject Library
On Error Resume Next
Set Wb = GetObject('C:\\\\\\\\Documents and Settings\\\\\\\\michel\\dossier\\\\\\\\monClasseur.xls')
If Wb Is Nothing Then
MsgBox 'Le classeur est fermé'
Else
MsgBox 'Le classeur est ouvert'
Wb.Close False 'mettre True pour enregistrer les modifications
End If
End Sub




bon apres midi
MichelXld
 
Bon je vais précisé un peu.
Ds mon appli à un moment je dois pouvoir intervenir sur 1 doc excel. Avant de l'ouvrir par la methode classique :
Set objExcel = CreateObject('Excel.Application')
Set objDocumentE = objExcel.Workbooks.Open(App.Path & '\\toto.xls')
objExcel.Visible = True
je fais un test pour voir s'il est pas déjà ouvert. Si oui, s'il a déjà été ouvert dans l'application = ca va, pas de probleme. Mais si il a été ouvert par un autre moyen que l'application, je voudrais alors tout simplement me positionner dessus mais là le pb est que les variables 'objExcel' et 'objDocumentE' n'ont pas été utilisées/définies !!!
Alors comment faire ? le moyen est-il alors de fermer le doc puis de le réouvrir de sorte que ces variables soient définies ?
Je sais pas si c'est très clair ;o)
 
rebonjour

tu veux fermer le classeur ou l'activer ?

est ce que tu as testé la procédure proposée ?

il te suffit de remplacer

Wb.Close False

par

Wb.Activate


ce qui donne

Private Sub Command1_Click()
Dim Wb As Excel.Workbook

'nécéssite d'activer la reference Microsoft Excel xx.x 0bject Library
On Error Resume Next
Set Wb = GetObject('C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier\\\\\\\\leClasseur.xls')
If Wb Is Nothing Then
MsgBox 'Le classeur est fermé'
'
'...
'procedure pour ouvrir le classeur
'...
'
Else
MsgBox 'Le classeur est ouvert'
Wb.Activate
End If

End Sub



bon apres midi
MichelXld
 
- 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