Problème de compatibilité lors de l'utilisation de FUNCTION [RESOLU]

pipou

XLDnaute Nouveau
Bonjour,

J'utilise une macro pour vérifier si un fichier est ouvert.

Si le fichier est déjà ouvert, j'affiche un message.
Si le fichier est fermé, je l'ouvre.

Cette macro fonctionne bien sous EXCEL 2003 à 2010, mais ne fonctionne plus sous 2013, comme si FUNCTION ne retournait pas de valeur.

Si le fichier est déjà ouvert, FICHOUVERT n'est pas considéré comme FALSE dans mon test et le fichier est donc ouvert une seconde fois.

Voici la macro, si quelqu'un peut m'aider :

Sub Exportation()


Rem On ouvre RECAP_EXPE.... si RECAP_EXPE est ouvert on arrête tout, sinon ...
If FichOuvert("D:\POIDS\RECAP_EXPE.xls") = False Then
Workbooks.Open filename:="D:\POIDS\RECAP_EXPE.xls"

Else
Rem RECAP_EXPE est ouvert, on ne fait rien
reponse = MsgBox("Attention le fichier RECAP_EXPE est ouvert !! Veuillez le fermer avant de lancer l'export", vbCritical, "ATTENTION RECAP_EXPE OUVERT")


End If
End Sub



'Rem permet de tester si un fichier est déjà ouvert

Function FichOuvert(filename As String) as boolean
Dim filenum As Integer
Dim errnum As Integer

On Error Resume Next
filenum = FreeFile()
Open filename For Input Lock Read As #filenum
Close filenum
errnum = Err
On Error GoTo 0
Select Case errnum
Case 0
FichOuvert = False
Case 70
FichOuvert = True
Case Else
Error errnum
End Select
End Function
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Problème de compatibilité lors de l'utilisation de FUNCTION

Bonjour,

essaye peut être ceci :
Code:
Sub test()
Dim nomClasseur As String
nomClasseur = "RECAP_EXPE.xls"
If ClasseurExiste(nomClasseur) Is Nothing Then
    Workbooks.Open Filename:="D:\POIDS\RECAP_EXPE.xls"
Else
    MsgBox "Attention le fichier RECAP_EXPE est ouvert !!" & vbLf _
        & "Veuillez le fermer avant de lancer l'export", vbCritical, "ATTENTION RECAP_EXPE OUVERT"
End If
End Sub

Function ClasseurExiste(c As String) As Workbook
On Error Resume Next
Set ClasseurExiste = Workbooks(c)
End Function

j'espère pas de souci sous 2013, je ne dispose pas de la version... A vérifier l'extension xls sous 2013....

bon après midi
@+
 

pipou

XLDnaute Nouveau
Resolu : Problème de compatibilité lors de l'utilisation de FUNCTION

Bonjour,

Merci pour votre aide
J'ai trouvé le problème...
Sur le code de mon Excel 2013, un "e" s'est glissé dans le code..transformant FichOuvert en FicheOuvert !!!!

Erreur corrigé en voyant que votre code fonctionnait...

Merci encore et désolé pour le dérangement

Salutations
Pipou
 

Discussions similaires

Réponses
1
Affichages
292
Compte Supprimé 979
C
Réponses
13
Affichages
234
Réponses
3
Affichages
146

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 070
dernier inscrit
jujulop