erreur d'accés à un classeur non partagé déjà ouvert

Le
Le Nordiste
Bonjour tertous,

Dans une procdure je recopie une page d'un classeur non partag
grace au code suivant :

Set shtFeuille = GetObject(strChemin & "" &
strFichierSource).Sheets(strFeuilleSource)

GetObject(strChemin & "" _
& strFichierSource).Sheets(strFeuilleSource).Copy after:= _
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)


Quand ce classeur est ouvert sur un autre poste de travail cela me
donne une erreur.
Comment passer outre ou mieux comment rcuprer le code d'erreur pour
en dduire un avertissement l'utilisateur par exemple ?


Merci de vous intresser mon problme.


Le Nordiste.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky
Le #3666761
Set shtFeuille = GetObject(strChemin & "" & _
strFichierSource).Sheets(strFeuilleSource)
On Error Resume Next
shtFeuille.Copy after:= ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
If Err<>0 then
Err=0
MsgBox "Le fichier est en cours d'utilisation....!....bye bye!": Exit sub
End If
'et la suite si c'est bon
Youky

"Le Nordiste" news:
Bonjour tertous,

Dans une procédure je recopie une page d'un classeur non partagé
grace au code suivant :

Set shtFeuille = GetObject(strChemin & "" &
strFichierSource).Sheets(strFeuilleSource)

GetObject(strChemin & "" _
& strFichierSource).Sheets(strFeuilleSource).Copy after:= _
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)


Quand ce classeur est ouvert sur un autre poste de travail cela me
donne une erreur.
Comment passer outre ou mieux comment récupérer le code d'erreur pour
en déduire un avertissement à l'utilisateur par exemple ?


Merci de vous intéresser à mon probléme.


Le Nordiste.
michdenis
Le #3665661
Bonjour Le nordiste,

Évidemment la feuille que tu tentes de copier doit exister
la procédure ne teste pas directement son existence !

'---------------------------------------
Sub test()

Dim Wk As Workbook
Dim strChemin As String
Dim strFichierSource As String
Dim strFeuilleSource As String

strChemin = "c:"
strFichierSource = "classeur1.xls"
strFeuilleSource = "Feuil1"

On Error Resume Next
Set Wk = Workbooks(strFichierSource)
If Not Wk Is Nothing Then
Err = 0
MsgBox "Ce fichier est déjà ouvert."
Else
Application.ScreenUpdating = False
With Workbooks.Open(strChemin & "" & strFichierSource)
.Sheets(strFeuilleSource).Copy after:= _
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
.Close False
End With
End If

End Sub
'---------------------------------------


Salutations!


"Le Nordiste"
Bonjour tertous,

Dans une procédure je recopie une page d'un classeur non partagé
grace au code suivant :

Set shtFeuille = GetObject(strChemin & "" &
strFichierSource).Sheets(strFeuilleSource)

GetObject(strChemin & "" _
& strFichierSource).Sheets(strFeuilleSource).Copy after:= _
ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)


Quand ce classeur est ouvert sur un autre poste de travail cela me
donne une erreur.
Comment passer outre ou mieux comment récupérer le code d'erreur pour
en déduire un avertissement à l'utilisateur par exemple ?


Merci de vous intéresser à mon probléme.


Le Nordiste.
Publicité
Poster une réponse
Anonyme