[VBA] Test avec message box si fichier externe non ouvert
Résolu/Fermé
dyllan
Messages postés
4694
Date d'inscription
mardi 9 janvier 2007
Statut
Contributeur sécurité
Dernière intervention
25 juin 2019
-
Modifié par dyllan le 23/01/2013 à 14:54
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 24 janv. 2013 à 09:44
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 24 janv. 2013 à 09:44
A voir également:
- [VBA] Test avec message box si fichier externe non ouvert
- Test performance pc - Guide
- Fichier rar - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Fichier host - Guide
- Fichier iso - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
Modifié par pijaku le 23/01/2013 à 16:19
Modifié par pijaku le 23/01/2013 à 16:19
Salut Dyllan, Bonne année à toi.
Pour tester si un fichier excel est ouvert, tu peux boucler sur tous les classeurs ouverts, et si tu ne trouves pas le nom de ton classeur (et oui chez Excel on ne dit pas "fichier" mais "classeur"...) dans les classeurs ouverts ben c'est qu'il est fermé...
En code VBA :
Je n'ai pas testé ce code si plusieurs instances d'excel sont ouvertes...
Cordialement,
Franck P
Pour tester si un fichier excel est ouvert, tu peux boucler sur tous les classeurs ouverts, et si tu ne trouves pas le nom de ton classeur (et oui chez Excel on ne dit pas "fichier" mais "classeur"...) dans les classeurs ouverts ben c'est qu'il est fermé...
En code VBA :
Dim Classeur As Workbook Dim Ouvert As Boolean Ouvert = False For Each Classeur In Workbooks If Classeur.Name = "Extract_mensuel_indicateurs_AQZS05.xls" Then Ouvert = True Exit For End If Next Classeur 'si ouvert est toujours false après la boucle c'est que ton classeur est fermé alors on sort de la procédure If Ouvert = False Then Exit Sub 'ou avec message à l'utilisateur : 'If Ouvert = False Then 'Msgbox "fichier fermé" 'Exit Sub 'End If
Je n'ai pas testé ce code si plusieurs instances d'excel sont ouvertes...
Cordialement,
Franck P
dyllan
Messages postés
4694
Date d'inscription
mardi 9 janvier 2007
Statut
Contributeur sécurité
Dernière intervention
25 juin 2019
909
Modifié par dyllan le 23/01/2013 à 15:05
Modifié par dyllan le 23/01/2013 à 15:05
Bon j'ai testé autre chose. Pas d'erreur mais par contre si le fichier n'est pas ouvert ... pas de message box pour avertir ... :(
J'ai envoyé un ange pour te protéger mais ... il est revenu me dire qu'il ne pouvait veiller sur un autre
' On commence par SGBD et on vérifie que notre ficher extract brut est ouvert pour l'entitée SGBD Dim Wk As Workbook x = "Extract_mensuel_indicateurs_AQZS05" Windows(Windows_Extract_Mensuel_SGBD).Activate On Error Resume Next Set Wk = Workbooks(x & ".xls") If Err <> 0 Then Message = "Le fichier Extract_mensuel_indicateurs_AQZS05.xls n'est pas ouvert !" & Chr(13) _ & " " & Chr(13) & " Merci de l'ouvrir." MsgBox Message, vbExclamation + vbCritical, "Erreur de fichier !" Else Sheets(Sheet_Extract_SGBD).Range("B5").Select End If
J'ai envoyé un ange pour te protéger mais ... il est revenu me dire qu'il ne pouvait veiller sur un autre
dyllan
Messages postés
4694
Date d'inscription
mardi 9 janvier 2007
Statut
Contributeur sécurité
Dernière intervention
25 juin 2019
909
23 janv. 2013 à 17:31
23 janv. 2013 à 17:31
Salut pijaku, pareillement, bonne année de ton côté ;)
Merci pour ce bout de code, je ne pense pas avoir le temps de tester ce soir. Je suis encore au boulot et me prend la tête sur autre chose ... bref.
Je te fais un retour demain sur ce topic.
Cordialement
Merci pour ce bout de code, je ne pense pas avoir le temps de tester ce soir. Je suis encore au boulot et me prend la tête sur autre chose ... bref.
Je te fais un retour demain sur ce topic.
Cordialement
dyllan
Messages postés
4694
Date d'inscription
mardi 9 janvier 2007
Statut
Contributeur sécurité
Dernière intervention
25 juin 2019
909
24 janv. 2013 à 09:38
24 janv. 2013 à 09:38
Bonjour pijaku,
Pour te répondre après avoir testé ce code : Excellent :) J'ai pu rapidement l'intégrer et, le tester.
Effectivement on parle de classeur sous Excel, c'est en partie cette mauvaise différenciation qui a du me bloquer.
A garder en mémoire, ça peut en aider quelques uns.
Merci encore ;)
Pour te répondre après avoir testé ce code : Excellent :) J'ai pu rapidement l'intégrer et, le tester.
Effectivement on parle de classeur sous Excel, c'est en partie cette mauvaise différenciation qui a du me bloquer.
A garder en mémoire, ça peut en aider quelques uns.
Merci encore ;)
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 743
24 janv. 2013 à 09:44
24 janv. 2013 à 09:44
Mais de rien.
A+
A+