MACRO désactivée sur un serveur

ahd44

XLDnaute Nouveau
Bonjour à tous,

J'ai une macro qui marche très bien lorsque mes dossiers sont positionnées sur mon disque dure (sur le bureau de l'ordi). J'ai cepàendant un problème lorsque j'envoir l'ensemble de mes dossier sur le serveur commun de mon entreprise, ma macro ne fonctionne plus, alors que les dossiers sont copier-collé à l'identique.

Pourquoi?

Voci la macro :

Sub Desactive()
Application.DisplayAlerts = False 'Arret des alertes
Application.ScreenUpdating = False 'Arret rafraichissement ecran
ActiveSheet.EnableCalculation = False 'Evite le re-calcul de feuil1
End Sub

Sub consolide()

Range("A11:I65536").ClearContents 'Efface le contenu des cellules sous le tableau
Application.ScreenUpdating = False 'évite la visualisation de l'ouverture et de la fermeture des fichiers sources

ChDir ActiveWorkbook.Path 'permet de récupérer les informations dans les tableaux sources
Set recap_MASS = ActiveWorkbook

compteur = 1

nf = Dir("*feuille_essai_massif bois lamelle collé 030604.xls")
Do While nf <> ""
If nf <> recap_MASS.Name Then
Workbooks.Open Filename:=nf

recap_MASS.Sheets(1).Cells(compteur + 10, 4 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("E46").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 5 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("M44").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 2 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("E51").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 3 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("E49").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("N13").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 6 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("M51").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 7 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("M46").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 8 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("D11").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 1 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("N13").Value
compteur = compteur + 1
Workbooks(nf).Close False
End If
nf = Dir
Loop

Application.ScreenUpdating = True 'évite la visualisation de l'ouverture et de la fermeture des fichiers sources

End Sub

Sub Erreur()
On Error Resume Next ' désactive les erreurs
Range("f25:i32").SpecialCells(xlCellTypeConstants, 1).Select
On Error GoTo 0 '
End Sub

Merci
 

mutzik

XLDnaute Barbatruc
Re : MACRO désactivée sur un serveur

bonjour,

pour faire tes essais:
- réactive tes erreurs,
- mets tes screenupdating = true (ou désactive les lignes)
- entre dans l'éditeur VBA (Alt + F11)
- execute le code ligne par ligne ( avec la touche F8)

dis nous ou ca coince ...
 

ahd44

XLDnaute Nouveau
Re : MACRO désactivée sur un serveur

Quand je suis en mode pats à pats sur le serveur, il passe directement de "Do While nf <> "" " à "Application.ScreenUpdating = True 'évite la visualisation de l'ouverture et de la fermeture des fichiers sources" .

Le code évite totalement le code : If nf <> recap_MASS.Name Then
Workbooks.Open Filename:=nf

recap_MASS.Sheets(1).Cells(compteur + 10, 4 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("E46").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 5 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("M44").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 2 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("E51").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 3 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("E49").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("N13").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 6 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("M51").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 7 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("M46").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 8 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("D11").Value
recap_MASS.Sheets(1).Cells(compteur + 10, 1 + 1) = Workbooks(nf).Sheets("BOIS MASSIF").Range("N13").Value
compteur = compteur + 1
Workbooks(nf).Close False
End If
nf = Dir
Loop

C'est vrailment étrange car ca ne le fait que sur mon serveur informatique sur le bureau pas de problème
 

mutzik

XLDnaute Barbatruc
Re : MACRO désactivée sur un serveur

re, est-ce que ton serveur gère les noms longs
sinon, en passant la souris (sans cliquer) sur nf, tu peux voir l'état et la valeur de la variable en question
ça serait intéressant de savoir la valeur de nf
 

ahd44

XLDnaute Nouveau
Re : MACRO désactivée sur un serveur

Alors ca ne change rien en faisant pats à pats c'est comme pour mon écriture.
Quand le Do While nf <> "" devient jaune nf="" (en positionnant la sourie dessus) et le nf de la ligne de code : If nf <> recap_ABOUT.Name Then me not nf=""
et puis ca passe directement à :
Application.ScreenUpdating = True 'évite la visualisation de l'ouverture et de la fermeture des fichiers sources
 

ahd44

XLDnaute Nouveau
Re : MACRO désactivée sur un serveur

Voici donc un exemple concrèt de mon problème la macro en l'état marche très bien. Mais je comprends pas quand elle est mise sur le serveur ca marche plus.


Merci
 

Pièces jointes

  • Exemple.zip
    44.2 KB · Affichages: 46
  • Exemple.zip
    44.2 KB · Affichages: 39
  • Exemple.zip
    44.2 KB · Affichages: 48

ahd44

XLDnaute Nouveau
Re : MACRO désactivée sur un serveur

En l'état la macro marche pas sur mon disque dure et non plus sur mon serveur...
Qu'entends tu "tous les fichiers dans le meme repertoire" Pourrais tu m'envoyer en zip ce que tu entends par là.
Désolé de ma médiocrité je débute en VBA
 
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : MACRO désactivée sur un serveur

re,

ben ce que j'entends par là, c'est que les 3 fichiers que tu as fournis dont le mien ci-dessus doivent être dans le même répertoire (le mien devant écraser le tien), car je me sers du chemin de mon fichier pour oouvrir les autres au même endroit

? que donne le mode pas à pas, il n'y a que toi qui peut dire ce qui se passe vraiment, en vérifiant l'état des variables en cours d'execution
 

ahd44

XLDnaute Nouveau
Re : MACRO désactivée sur un serveur

Bonjour alors je viens d'essayer en mode pas à pas, le code passe bien jusqu'à :
recap_ABOUT.Sheets(1).Cells(compteur + 10, 1) = Workbooks(nf).Sheets("ABOUTAGE").Range("I13").Value ou il me met une erreur de boggage
 

Statistiques des forums

Discussions
312 559
Messages
2 089 601
Membres
104 223
dernier inscrit
Brilma