Bonjour,
J'ai déjà fait un paquet de macros sur ce sujet, mais là, je ne comprends vraiment pas.
Je suis dans un classeur (sur un réseau : X:\Nom_fichier\Nom_sous_fichier) s'intitulant Classeur_origine.
Je veux lire, dans le même répertoire, un classeur déjà ouvert s'intitulant Classeur_source.
Où est mon erreur ?
Voici le test simple que je fais :
avec la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 If VerifOuvertureClasseur("X:\Nom_fichier\Nom_sous_fichier\Classeur_source.xlsx") Then MsgBox "Classeur déja ouvert." Workbooks("Classeur_source.xlsx").Worksheets("Feuil2").Range("a1") = "test" Else MsgBox "Classeur fermé." End If
Il m'ouvre la MsgBox "Classeur déja ouvert." mais m'indique "L'indice n'appartient pas à la sélection".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Function VerifOuvertureClasseur(Fichier As String) As Boolean Dim x As Integer On Error Resume Next x = FreeFile() Open Fichier For Input Lock Read As #x Close x If Err.Number = 0 Then VerifOuvertureClasseur = False If Err.Number = 70 Then VerifOuvertureClasseur = True On Error GoTo 0 End Function
C'est très probablement une erreur très bête mais j'ai fait 50 tests différents sans succès...
Est-ce que quelqu'un pourrait me donner un petit coup de main ?
Je reste à votre disposition pour toute information complémentaire.
Je vous remercie par avance.
Cordialement,
Kimy
Partager