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

VBA Word Discussion :

Le serveur distant n'existe pas ou n'est pas disponible - Err 462 [WD-2010]


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Le serveur distant n'existe pas ou n'est pas disponible - Err 462
    Bonjour tout le monde,
    ce sujet est récurrent dans les forums mais je n'y ai pas trouvé la solution à mon problème.
    Je génère un document word à partir d'access.
    Tout se passe bien une fois sur deux, et une fois sur deux exactement, j'obtiens l'erreur habituelle qui gache la vie de pas mal de monde :
    "Le serveur distant n'existe pas ou n'est pas disponible"

    J'ai essayé pas mal de trucs mais rien n'y fait.

    Voici mon bout de code au cas où quelqu'un aurait une petite idée sur le problème et surtout comment le résoudre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Dim WordDoc As Word.Document
        Dim WordApp As Word.Application
        Dim MyRange As Object
     
        Dim MyPath, MyModeleWord, MyChrono As String
     
        MyPath = "C:\Users\cwouam\AppData\Roaming\Microsoft\Templates"
        MyModeleWord = "2012.dotm"
     
        Set WordApp = CreateObject("Word.Application")
     
        'Créer nouveau document
        Set WordDoc = WordApp.Documents.Add(Template:=MyPath & "\" & MyModeleWord)
     
         WordApp.Visible = True
     
        WordDoc.Activate
        WordDoc.Select
     
        With WordDoc.PageSetup
            .LeftMargin = CentimetersToPoints(1.27)
            .RightMargin = CentimetersToPoints(1.27)
            .TopMargin = CentimetersToPoints(1.27)
            .BottomMargin = CentimetersToPoints(1.27)
        End With
    Ca se plante en débug sur .LeftMargin mais en fait, ça se plante sur n'importe quelle autre manipulation du doc qui suit sa création.

    Merci d'avance!

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je pense que c'est plus complexe.
    Le document n'est pas ouvert.

    Essaie de ne pas passer par un CreateObject pour ton objet Word, mais un New(Word.Application, mais ce n'est pas la raison.

    Peut-être un DoEvents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Set WordApp = CreateObject("Word.Application")
        DoEvents
     
        'Créer nouveau document
        Set WordDoc = WordApp.Documents.Add(Template:=MyPath & "\" & MyModeleWord)
    Ça permet de temporiser un peu avant l'ouverture du document.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bonjour Heureux-oli,
    Merci pour toutes ces suggestions.
    C'est intéressant. Le "New Word.Application" me permet de passer le bloc "th WordDoc.PageSetup" et "LeftMargin" qui plantait auparavant. En revanche, ça bloque désormais sur les lignes suivantes dès que j'invoque "ActiveDocument" + quelque chose. Par exemple pour écrire dans un paragraphe : "ActiveDocument.Paragraphs(1).Range.Text"
    Il me dit "Commande non disponible ; aucun document n'est ouvert". Ce qui confirmerait bien ce que tu as pressenti, que le doc n'est pas ouvert.
    Par contre, ça ne me le fait plus une fois sur 2 mais à tous les coups.

    Quant au Doevents, j'avais déjà essayé d'en placer un peu partout, mais sans aucun effet sur le résultat.

    Je vais essayer de créer le doc, le sauvegarder puis le fermer, et dans la foulée de le rouvrir. Ce n’est pas terrible, mais on verra bien. A++ cwouam

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Re-Bonjour,

    En fait, le "new word.application" fonctionne très bien. Il fallait simplement ne pas utiliser "ActiveDocument" ensuite, ça ne lui plait pas du tout. Mais le remplacer par l'objet "WordDoc". Après tout, il est sété, donc autant s'en servir.
    Il doit y avoir une subtilité avec "ActiveDocument" qui me dépasse.

    Par contre, j'avais fait cette manip sur une autre machine (même config, Win7, Office 2010,.. même code) et ça marche très bien. Ce qui placerait le problème ailleurs que dans le code.

    Donc merci à tous et bravo au site !
    amts cwouam

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Re bonjour,
    bon finalement ça ne marchait pas tellement mieux. Je me suis apperçu au bout d'un moment qu'il y avait tout un tas d'instances de Word "WINWORD.EXE *32" dans mon gestionnaire de taches.
    Je ne sais pas quoi fait quoi ni comment dans cette histoire, mais mon erreur 462 est revenue de plus belle dès que j'ai trucidé tous ces processus.

    Donc j'ai fouillé un peu plus et j'ai trouvé la parade qui était sous mon nez depuis le début avec la doc suivante :http://support.microsoft.com/kb/189618/fr qui donne une solution bête à en pleurer.

    En bref, les "CentimetersToPoints" qui suivent l'initialisation de mon objet doc et sur lesquels se plante l'exécution doivent simplement être précédés d'une référence à mon objet Word. Soit "WordApp.CentimetersToPoints(1.27)"
    On admettra que ce n'est pas le premier truc auquel on pense quand on se prend le message d'erreur dans la figure !!


    Voilà, si ça peut aider quelqu'un.
    Bien cordialement

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Merci pour ce retour.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Août 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 1
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour le retour. Vous m'avez fait sauver beaucoup de temps. J'avais le même problème que vous.

    Citation Envoyé par cwouam Voir le message
    Re bonjour,
    bon finalement ça ne marchait pas tellement mieux. Je me suis apperçu au bout d'un moment qu'il y avait tout un tas d'instances de Word "WINWORD.EXE *32" dans mon gestionnaire de taches.
    Je ne sais pas quoi fait quoi ni comment dans cette histoire, mais mon erreur 462 est revenue de plus belle dès que j'ai trucidé tous ces processus.

    Donc j'ai fouillé un peu plus et j'ai trouvé la parade qui était sous mon nez depuis le début avec la doc suivante :http://support.microsoft.com/kb/189618/fr qui donne une solution bête à en pleurer.

    En bref, les "CentimetersToPoints" qui suivent l'initialisation de mon objet doc et sur lesquels se plante l'exécution doivent simplement être précédés d'une référence à mon objet Word. Soit "WordApp.CentimetersToPoints(1.27)"
    On admettra que ce n'est pas le premier truc auquel on pense quand on se prend le message d'erreur dans la figure !!


    Voilà, si ça peut aider quelqu'un.
    Bien cordialement

  8. #8
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Bonjour Stuart33,

    Bravo pour ta bonne utilisation du site en retrouvant ce post de 2012. C'est un bel exemple de ce que ce DVPnautes devraient faire et donc je voulais te féliciter pour mettre en évidence ce type de pratique. Rassure-toi tu n'es pas le seul mais comme on a tendance à fustiger les mauvais élèves en tant que modérateur, il est parfois de bon ton de "récompenser" les bons et c'est tombé sur toi. Alors bravo et je mets plein d'étoiles pour la discussion soit lu par plus de DVPnautes.

    @+

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    Merci également, grâce à cette réponse précise j'ai pu résoudre ce problème auquel j'étais moi aussi confronté en 5mn

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Ce sujet vaut le détour !! Un grand merci à celui qui a apporté la solution !!! Épinglé moi ça !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/10/2011, 09h55
  2. [XL-2003] serveur distant n'existe pas
    Par alain59320 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/01/2010, 10h09
  3. Le serveur distant n'existe pas ou n'est pas disponible
    Par titeZ dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 04/06/2008, 20h06

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