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 :

Ouverture Word par VBA Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Technicien
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut Ouverture Word par VBA Excel
    Bonjour, J'ai un problème avec l'ouverture de mon fichier Word.

    Voici le Code :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    Option Explicit
    
    
        Public Sub GenererConvoc(piLig As Integer)
    
        Dim iRep As VbMsgBoxResult
        Dim sModele As String
        Dim oShSource As Worksheet
        Dim oWAFinal As Object
        Dim oWBFinal As Object
        Dim sNomPrenom As String
        Dim sFichierFinal As String
    
        
          Set oShSource = Worksheets("Convocation")
         
         
        If (oShSource.Range("A" & piLig).Value = "P") Then
        sModele = ThisWorkbook.Path & "\" & "ConvocationP.docx"
        ElseIf oShSource.Range("A" & piLig).Value = "R" Then
        sModele = ThisWorkbook.Path & "\" & "ConvocationR.docx"
        End If
        
        
        If Dir(sModele) = "" Then
        MsgBox "Modèle absent : " & vbCrLf & sModele, vbExclamation
        Exit Sub
        End If
    
        
        sNomPrenom = oShSource.Range("C" & piLig).Value
    
        'sFichierFinal
        
        sFichierFinal = ThisWorkbook.Path & "\" & sNomPrenom & ".docx"
        
        If Dir(sFichierFinal) = "" Then
            iRep = MsgBox("Voulez-vous générer la convocation de [" & sNomPrenom & "] ?", vbOKCancel + vbExclamation)
        Else
           iRep = MsgBox("Une convocation existe déjà pour [" & sNomPrenom & "] : " & vbCrLf & vbCrLf & sFichierFinal & vbCrLf & vbCrLf & _
                    "Voulez-vous la remplacer ?", vbOKCancel + vbExclamation)
        End If
        
        If iRep <> vbOK Then
            Exit Sub
        End If
        
        'Ouverture
        
    Set oWAFinal = CreateObject(Word.Application)
    Set oWBFinal = oWAFinal.Document.Open(sFichierFinal)
    
    
        'alimentation du fichier final avec signets
        
    oWBFinal.Bookmarks("Signet1").Range.Text = oShSource.Range("G1" & piLig).Value 'N° Dossier
    oWBFinal.Bookmarks("Signet2").Range.Text = oShSource.Range("G2" & piLig).Value 'Affaire suivi par :
    oWBFinal.Bookmarks("Signet3").Range.Text = oShSource.Range("G3" & piLig).Value 'Jour RDV
    oWBFinal.Bookmarks("Signet4").Range.Text = oShSource.Range("G4" & piLig).Value 'Convoc envoyée le
    oWBFinal.Bookmarks("Signet5").Range.Text = oShSource.Range("G5" & piLig).Value 'NOM Propriété
    oWBFinal.Bookmarks("Signet6").Range.Text = oShSource.Range("B" & piLig).Value 'Genre
    oWBFinal.Bookmarks("Signet62").Range.Text = oShSource.Range("B" & piLig).Value 'Genre2
    oWBFinal.Bookmarks("Signet7").Range.Text = oShSource.Range("C" & piLig).Value 'Nom Prénom
    oWBFinal.Bookmarks("Signet8").Range.Text = oShSource.Range("D" & piLig).Value 'Section
    oWBFinal.Bookmarks("Signet82").Range.Text = oShSource.Range("D" & piLig).Value 'Section2
    oWBFinal.Bookmarks("Signet9").Range.Text = oShSource.Range("E" & piLig).Value 'Parcelles
    oWBFinal.Bookmarks("Signet92").Range.Text = oShSource.Range("E" & piLig).Value 'Parcelles2
    oWBFinal.Bookmarks("Signet10").Range.Text = oShSource.Range("G" & piLig).Value 'Adresse
    oWBFinal.Bookmarks("Signet11").Range.Text = oShSource.Range("H" & piLig).Value 'Code postal
    oWBFinal.Bookmarks("Signet12").Range.Text = oShSource.Range("I" & piLig).Value 'Commune
    oWBFinal.Bookmarks("Signet122").Range.Text = oShSource.Range("I" & piLig).Value 'Commune2
    oWBFinal.Bookmarks("Signet13").Range.Text = oShSource.Range("J" & piLig).Value 'Lieu dit
    oWBFinal.Bookmarks("Signet14").Range.Text = oShSource.Range("K" & piLig).Value 'Heure RDV
    
    
     
        
        Set oWAFinal = Nothing
        Set oWBFinal = Nothing
        Set oShSource = Nothing
        
        MsgBox "Le bon est disponible !" & vbCrLf & vbCrLf & sFichierFinal, vbInformation, "Bon disponible !"
    
    End Sub
    Si quelqu'un peut m'aider à découvrir ce qu'il bloque ...?

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    "J'ai un problème", c'est un peu court comme description...
    Qu'est-ce qui se passe exactement ?
    S'il y a une erreur, quel est le message d'erreur ? Quelle ligne de code est désignée par le débugueur ?
    Si le résultat obtenu n'est pas celui souhaité, quel résultat souhaitais-tu et quel résultat obtiens-tu ?

  3. #3
    Membre actif
    Homme Profil pro
    Technicien
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut
    Désolé ...
    J'ai une erreur d’exécution 429 : Un composant Active X ne peut pas créer d'objet.
    Sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oWAFinal = CreateObject(Word.Application)
    J'ai regarder sur forum les sujets en question ils expliquent qu'il y a deux solution ou par word.appli / word.document ou par word.objet.
    Il me reste, normalement, juste cette exécution pour faire fonctionner mon programme.

    Je souhaiterai ouvrir mon fichier word à partir d'excel. Avec le remplissage automatique de signet.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il me semble plus simple d'ouvrir directement le fichier Word plutôt que d'essayer d'ouvrir une cession Word puis d'y ouvrir le fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Dim oWBFinal As Word.Document
     
       Set oWBFinal = GetObject(sFichierFinal)
       oWBFinal.Application.Visible = True
    Ne pas oublier de charger la bibliothèque d'objet Word.

  5. #5
    Membre actif
    Homme Profil pro
    Technicien
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut
    C'est ce qu'il me semblait.

  6. #6
    Membre actif
    Homme Profil pro
    Technicien
    Inscrit en
    Mars 2018
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2018
    Messages : 20
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Il me semble plus simple d'ouvrir directement le fichier Word plutôt que d'essayer d'ouvrir une cession Word puis d'y ouvrir le fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Dim oWBFinal As Word.Document
     
       Set oWBFinal = GetObject(sFichierFinal)
       oWBFinal.Application.Visible = True
    Ne pas oublier de charger la bibliothèque d'objet Word.

    Maintenant il m'indique une erreur d’exécution 432 : Nom du fichier ou de la classe introuvable lors de l'opération sur la même ligne de code.

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Swam.logx3 Voir le message
    Maintenant il m'indique une erreur d’exécution 432 : Nom du fichier ou de la classe introuvable lors de l'opération sur la même ligne de code.
    Etant donné qu'avec la méthode que je t'ai indiquée, la ligne de ton message #3 ne devrait plus exister, il est étrange que l'erreur se produise "sur la même ligne".

Discussions similaires

  1. [XL-2010] Tableaux Excel colle dans Word par VBa
    Par houstono92 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/07/2014, 12h19
  2. [WD-2000] Problème d'ouverture d'un document word par vba
    Par juju05 dans le forum VBA Word
    Réponses: 0
    Dernier message: 09/12/2010, 17h59
  3. Changer la largeur de colonnes par vba (excel 97)
    Par jneron dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/09/2007, 11h14
  4. Ouverture CSV par Ole Excel
    Par bandit boy dans le forum C++Builder
    Réponses: 4
    Dernier message: 24/04/2007, 08h54
  5. Création de label par VBA (excel)
    Par WagaSeb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2006, 14h46

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