IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

MACRO désactivée sur un serveur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Par défaut MACRO désactivée sur un serveur
    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

    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.

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Par défaut
    Salut alors pour vous expliciter mon problème voici un exemple de mes fichiers. L'ensemble des dossiers marchent très bien sur un disque dure standart mais impossible de faire marcher cela sur le serveur.

    Cordialement
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [AC-2003] executer les macro sur un serveur distant
    Par strike57 dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/04/2009, 13h26
  2. Réponses: 4
    Dernier message: 08/10/2008, 12h25
  3. Réponses: 2
    Dernier message: 07/07/2008, 11h07
  4. désactiver touche shift d'une base ADP sur SQL SERVEUR
    Par bilouk dans le forum Projets ADP
    Réponses: 2
    Dernier message: 03/08/2007, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo