Macro et reseau

Bonjour à tous,

J'ai effectué une macro qui collationne différents tableurs qui sont des programmations d'équipe.

La macro marche super bien sur mon ordinateur. par contre dès que je la met sur le réseau de l'entreprise tout bug. la macro me renvoie le message suivant :

" erreur d’exécution '1004' : désolé ... nous ne trouvons pas 1_test.xlsx. peut être l'avez vous déplacé, renommée ou supprimé ?"

Option Explicit

dans le code de ma macro ci dessous. le bug apparait quand je mets le débeugage sur le code suivant "Workbooks.Open NomClasseur 'ouverture du classeur'".... si quelqu'un peut m'aider à résoudre mon problème..

'

déclaration variables'
Dim NomClasseur As String
Dim LigneTotal As Integer
Dim Derligne As Integer

Sub test()

 'etape 1 creéation des en-têtes'
Rows("5:150").Select
    Selection.Delete Shift:=xlUp

'on réinitialise le fichier synthèse'
Range("A1").Value = "A1"
Range("B1").Value = "A2"
Range("C1").Value = "A3"
Range("D1").Value = "A4"
Range("E1").Value = "A5"
Range("F1").Value = "A6"
Range("G1").Value = "A7"
Range("H1").Value = "A8"
Range("I1").Value = "A9"
Range("J1").Value = "A10"
Range("K1").Value = "A11"

'étape n°2 : parcourir tous les fichiers du dossier'
ChDir "T:\Interne\XXXXXXX"

 'étape 3 : on cherche le premier classeur'
NomClasseur = Dir("T:\Interne\XXXXXXXX*.xlsx")

 'on boucle pour chercher tous les classeurs excel'
While Len(NomClasseur) > 0
    Application.DisplayAlerts = False
Workbooks.Open NomClasseur 'ouverture du classeur'
    LigneTotal = ActiveSheet.UsedRange.Rows.Count 'on récupère le nombre de ligne'
    Range("A5:ABV" & LigneTotal).Copy 'on copie toutes les données de la feuille active'
    Workbooks("BASE.xlsm").Activate  'on revient sur le classeur de synthèse'
    Derligne = ActiveSheet.UsedRange.Rows.Count + 1 'on recherche la dernière ligne vide de la feuille active'
    Range("A" & Derligne).Select 'on se positionne sur la dernière ligne vide de la feuille'
    ActiveSheet.Paste 'je colle les données'
    Workbooks(NomClasseur).Close 'fermeture du classeur ouvert'

    NomClasseur = Dir 'on passe au prochain classeur'

Wend

 End Sub

Bonsoir,

je ne m'y connais pas trop en réseaux, mais un peu mieux en français, et si j'ai un message qui me dit "je ne trouve pas le fichier 1_Test.xlsx" je commencerais à chercher de ce coté :

le fichier existe-t-il ?

S'il existe est-il bien sur cette "lettre" de réseau ?

si oui, le réseaux est-il fonctionnel etc

Sinon pour le reste, au dessus de la fenêtre d'édition des messages il y a des "balises" pour mettre ben forme le message, ce qui simplifie sa lecture et augmente les chances de réponse.

@ bientôt

LouReeD

Merci LouReed, alors oui le fichier existe bien. j'ai bien copié coller l'ensemble du dossier qui comprend une base (qui possède la macro) qui copie les données des trois autres fichiers excel. je le répète, tout marche sur mon ordi, c'est juste quand je le copie sur le réseau que le bug apparait...

le réseau est fonctionnel... je pense vraiment que c'est pas un problème de réseau mais de ma macro a qui il manque un code.

Pour les balises OK. heu je dois avouer que je suis encore un débutant en macro et sur le forum. je ferai mieux la prochaine fois

Pas de soucis, mais avec les futurs lectures de votre "problème" le message des balises fera boule de neige !

Jusqu'au printemps suivant !

Par contre comme je l'ai dis, moi et les réseaux... En plus tout ce qui touche à la gestion des fichiers par VBA...

Bon courage pour la suite, et n'hésitez pas à ouvrir un nouveau sujet, car une fois entamé, certains fil finissent par "mourir" si les premières réponses n'aboutissent pas... J'aurais du vous répondre par MP

@ bientôt

LouReeD

Bonjour Marc86,

Alors le chemin que tu donnes sur ton code VBA est T:

Je ne suis pas expert réseau mais le problème vient du chemin que tu donnes accès, si les personnes ils utilisent déjà la lettre T: sa ne fonctionnera pas et donc le message te dira ceci, il trouvera pas le fichier tout à fait normal.

Quand tu balances un fichier excel avec une macro sur le réseau assure toi que tous les utilisateurs qui se connecte sur le réseau on bien pris la lettre T: et pas d'autre ou tu mets la racine du réseau avec les \\ chemin \ chemin\1-test.xls

donc dans ton code tu remplace T: par sont nom initial qui commence par deux anti slashs

medas

Désolé pour ma réponse si tardive mais je n’ai pas très bien surveillé le forum ces derniers jours. Merci MEDA pour ta réponse. Je vais essayer cela dès demain. Cela m’évitera les fastidieux copier coller des fichiers sur mon bureau pour lancer ma macro.

Rechercher des sujets similaires à "macro reseau"