Problème de getobject pour un fichier issue d'un intranet

Bonjour,

j'ai un code qui fonctionne avec un fichier excel présent sur le bureau et qui ne marche plus lorsque je vais le chercher sur le réseau intranet

Voici le code qui fonctionne

Dim wb2 As Workbook
Dim cheminscar As String 

Set Obj = CreateObject("wscript.shell")
cheminscar = "'Obj.specialfolders("desktop") & "\EN 9 57 60 055.xlsx"

Workbooks.Open Filename:=cheminscar 
Set wb2 = GetObject(cheminscar)  'définie le classeur ouvert comme wb2

'ci dessous le code qui me fait une erreur de syntaxe pour la ligne Set wb2 (à noter que le fichier excel s'ouvre bien)

Dim wb2 As Workbook
Dim cheminscar As String 

Set Obj = CreateObject("wscript.shell")
cheminrecords = Obj.specialfolders("desktop") & "\" 'for records on desktop
cheminscar = "http://nom du chemin intranety/EN 9 57 60 055.xlsx" 

Workbooks.Open Filename:=cheminscar 
Set wb2 = GetObject(cheminscar)  définie le classeur ouvert comme wb2  '<-- erreur de syntaxe 2147221020

merci par avance pour votre aide

Bonjour,

Difficile à tester depuis chez moi pour diagnostiquer le problème.

Une solution de contournement : copier le fichier en local, et ouvrir la copie.

Workbooks.Open Filename:=cheminscar

CheminCopie = "C:\TEMP\COPIE.xlsx"
Workbooks.SaveCopyAs cheminCopie
Set wb2 = GetObject(cheminscar) 'définie le classeur ouvert comme wb2
=> Set wb2 = GetObject(cheminCopie)

Et supprimer ensuite la copie

Question subsidiaire : pourquoi 2 lignes de code ?

Workbooks.Open Filename:=cheminscar
Set wb2 = GetObject(cheminscar) définie le classeur ouvert comme wb2 '<-- erreur de syntaxe 2147221020

A tester (mais je pense que cela posera le même problème ...)

set wb2 = Workbooks.Open (Filename:=cheminscar) 

Bouben

bonjour c'est surtout que c'est ecris noir sur blanc d'aller chercher le fichier sur le bureau :

cheminscar = "'Obj.specialfolders("desktop") & "\EN 9 57 60 055.xlsx"

le problème vient de la il faudrait dans ce cas peut etre demander a l'utilisateur de spécifier l'endroit ou se trouve le fichier

plutot qu'essayer de l'inscrire en dure dans la macro...

enfin c'est une idée

fred

re bonsoir

peut etre utiliser ceci pour demander le repertoire à l'utilisateur :

 With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = ActiveWorkbook.Path & "\"
        .Show
        If .SelectedItems.Count > 0 Then
           ChoixDossier = .SelectedItems(1)
        Else
           ChoixDossier = ""
        End If
       End With

fred

Bonjour a tous et merci pour votre aide précieuse.

la ligne de code:

set wb2 = Workbooks.Open (Filename:=cheminscar) a fonctionné.

Pour répondre à la question concernant les 2 lignes de code, cela provient du code de départ allant chercher le fichier de base sur le bureau trouvée sur un forum d'aide comme celui-ci (peut être même celui-ci, je ne me souviens plus) et j'ai utilisé la même structure pour le code allant le chercher sur intranet.

Salutations et merci de nouveau

Rechercher des sujets similaires à "probleme getobject fichier issue intranet"