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 :

Empêcher débogage si serveur occupé [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Empêcher débogage si serveur occupé
    Bonjour,

    Grace à l'aide de Kiki29 du forum, j'ai pu créer une macro me permettant d'extraire des renseignements d'une feuille vers un nouveau classeur puis de mettre en forme la nouvelle feuille pour ensuite l'exporter au format Pdf pour une publication sur le site Intranet de ma société.
    Cette publication est effective lorsque le fichier Pdf est exporté vers notre serveur. Mais le souci est que ce serveur est bien souvent occupé.

    Je voudrais donc savoir si quelqu'un aurait en boutique un bout de code me permettant de ne plus avoir en cas d'occupation du serveur, la phrase habituelle de Microsoft Visual Basic (voir copie écran si dessous) mais plutôt un message Box me disant : "Serveur occupé, veuillez réitérer votre macro ultérieurement."

    Pièce jointe 205072

    Voici le bout de mon code pour la publication :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'Publication du fichier en Pdf
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                        Filename:="U:\Groupes fonctionnels\Extraction referentiel documentaire.pdf", _
                                        Quality:=xlQualityStandard, _
                                        IncludeDocProperties:=True, _
                                        IgnorePrintAreas:=False, _
                                        OpenAfterPublish:=False
     
        'Fermeture du nouveau classeur
        ActiveWorkbook.Close False
     
      'Message de publication du document
      rep = MsgBox("Votre extraction a été publiée avec succès. Vous pouvez la consulter directement sur le portail intranet.", vbYes + vbInformation, "Publication de document...")
    Merci pour votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Qu'entends tu pas serveur occupé ?
    Il s'agit d'un serveur de fichiers non ?

    Tu viens remplacer un fichier existant qui peut déjà être ouvert par quelqu'un ?

  3. #3
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Il s'agit d'un serveur de fichiers non ?
    Oui tout à fait.
    Tu viens remplacer un fichier existant qui peut déjà être ouvert par quelqu'un ?
    Effectivement, ce fichier étant sur le serveur "U" de ma société, il se peut que quelqu'un ou même plusieurs personnes consultent le Pdf pendant sa publication.

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Ok !
    Essaye ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
     
    Function FileLocked(strFileName As String) As Boolean
       On Error Resume Next
       Open strFileName For Binary Access Read Write Lock Read Write As #1
       Close #1
       If Err.Number <> 0 Then
          MsgBox "Error #" & Str(Err.Number) & " - " & Err.Description
          FileLocked = True
          Err.Clear
       End If
    End Function
    Ca permet de tester si le fichier est locké ou pas

  5. #5
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Merci mais je le place où ce code ?
    A la ligne 11 de mon extrait de code ou autre part ?
    Mais juste une question car je ne serais pas la seule a utiliser la macro.
    Où puis je mettre par rapport a ton code, un msg box du style : "Serveur occupé, veuillez réitérer votre macro ultérieurement."

    Je te remercie pour ton aide

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Ce code tu le met dans un module, c'est une fonction que tu va appeler dans ton code existant.
    Il faut le faire avant d'exporter en PDF afin d'être sur que ça va fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    If FileLocked("U:\Groupes fonctionnels\Extraction referentiel documentaire.pdf") Then
        MsgBox "Veuillez ressayer plus tard...."
    Else
        'Tu exporte en PDF
    End If

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message Serveur occupé
    Par Ceubex dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 09/01/2016, 07h31
  2. Réponses: 0
    Dernier message: 01/12/2014, 11h53
  3. Débogage en serveur Web
    Par Marcel Chabot dans le forum Forms
    Réponses: 0
    Dernier message: 08/02/2008, 21h38
  4. Pbme BO XI Deski : Serveur Occupé
    Par bibolo dans le forum Deski
    Réponses: 14
    Dernier message: 24/10/2007, 16h50
  5. Réponses: 1
    Dernier message: 27/10/2005, 11h14

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