Problème fonctionnement macro Excel sur résau

Fermé
matmat125 Messages postés 9 Date d'inscription mardi 1 juin 2010 Statut Membre Dernière intervention 4 juin 2010 - 3 juin 2010 à 15:43
Bonjour,


J'ai à ma disposition une macro excel qui cherche des informations dans tous les fichiers Excel d'un dossier pour les synthétiser sous forme d'un tableau récapitulatif.
Celle-ci fonctionne parfaitement lorsque le dossier dans lequel je cherche mes fichiers Excel se trouve sur le disque dur de mon ordinateur.
Or j'aimerais que ce dossier soit sur un réseau local de partage.
Lorsque je change l'addresse du classeur source la macro ne fonctionne plus et l'erreur suivante s'affiche :

Erreur d'éxecution '91'
Variable objet ou variable de bloc With non définie


et le debogeur nous indique la ligne :

classeurDestination.Sheets("Feuil1").Activate

voila ci dessous ma macro initiale:

Sub importer()
'-------déclarations
Dim fich As String
Dim tablo(10)
Dim classeurSource As Workbook, classeurDestination As Workbook
Dim cptr As Byte

'-----initialisations
'on force dans le répertoire source
ChDir "C:\ficcheappel"
'on fige le défilement de l'écran
Application.ScreenUpdating = False
'on réduit la sélection en utilisant un générique et un joker *"
fich = Dir(ficheappel & "*.xlsm")
cptr = 2

'------importations
While fich <> ""
'ouvrir le classeur source (en lecture seule
Set classeurSource = Application.Workbooks.Open(fich, , True)
'définir le classeur destination
Set classeurDestination = ThisWorkbook

'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
'collectes dans la source
With classeurSource.Sheets("Feuil1")
tablo(1) = .Range("C6").Value
tablo(2) = .Range("C8").Value
tablo(3) = .Range("C10").Value
tablo(4) = .Range("C12").Value
tablo(5) = .Range("C14").Value
tablo(6) = .Range("C16").Value
tablo(7) = .Range("C18").Value
tablo(8) = .Range("C20").Value
tablo(9) = .Range("C22").Value
tablo(10) = .Range("C24").Value

End With
'restitutions dans destinations
With classeurDestination.Sheets("Feuil1")
.Range(.Cells(cptr, 1), .Cells(cptr, 10)) = tablo
End With
'implémente LIGNE de restitution
cptr = cptr + 1

'fermer le classeur source
classeurSource.Close False
'affecte le fichier suivant (utilisation du joker " * " utilisé pour la def du 1° fichier)
fich = Dir
Wend

classeurDestination.Sheets("Feuil1").Activate

End Sub




Y a-t-il un problème parce que l'on ne cherche plus sur le disque dur mais sur un réseau? Si oui comment corriger ma macro?
Ou sinon d'où vient le problème?

merci d'avance !
A voir également: