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 :

excel copie dans word


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut excel copie dans word
    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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    Private Sub CommandButton1_Click()
          Dim WdApp As Word.Application
          Dim WdDoc As Word.Document
          Dim i, hauteur As Double, plage As Range
          Dim j As Integer
          Dim k As Integer
          Dim nbre As Integer
     
          Set WdApp = CreateObject("word.application")
          Set WdDoc = WdApp.Documents.Open("C:\ah.doc")
     
          WdApp.Visible = True
     
     
          nbre = ActiveWorkbook.Sheets.Count
     
     
     
     
     
     
     
     
     
     For j = 2 To 11
                 If Worksheets(j).Range(J25) <> 0 Or Worksheets(j).Range(J26) <> 0 Then
     
     
     
            Do                          'Sélection de la plage de cellules à copier
                On Error Resume Next                          'gère une plage nulle
                Set plage = Range("A1:L38")
               If plage Is Nothing Then GoTo Fin             'sortie si plage vide
                 On Error GoTo 0
                 Loop While InStr(plage.Address, ",") <> 0
                 plage.Copy                                                'plage copiée
                 DoEvents                  'laisse au system le temps de copier la plage
     
                                          'Place l'image sur le signet "Signet"
                With WdApp
                    .Selection.Goto What:=wdGoToBookmark, Name:="Signet"
                    .Selection.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, _
                    Placement:=wdInLine, DisplayAsIcon:=False
                    WdDoc.InlineShapes(1).Width = 132    'Règle la largeur dans Word
     
                           'Calcul de la hauteur de plage dans le document word
                     hauteur = 132 / WdDoc.InlineShapes(1).Width _
                                 * WdDoc.InlineShapes(1).Height
                     WdDoc.InlineShapes(1).Height = Int(hauteur)       'Règle la hauteur
                End With
     
          End If
    Next j
     
     
     
     
     
     
     
     If nbre > 15 Then
        For k = 16 To nbre
          If Worksheets(k).Range(J25) <> 0 Or Worksheets(k).Range(J26) <> 0 Then
     
     
     
        Do                          'Sélection de la plage de cellules à copier
            On Error Resume Next                          'gère une plage nulle
            Set plage = Range("A1:L38")
            If plage Is Nothing Then GoTo Fin             'sortie si plage vide
            On Error GoTo 0
        Loop While InStr(plage.Address, ",") <> 0
        plage.Copy                                                'plage copiée
        DoEvents                  'laisse au system le temps de copier la plage
     
                                          'Place l'image sur le signet "Signet"
        With WdApp
               .Selection.Goto What:=wdGoToBookmark, Name:="Signet"
               .Selection.PasteSpecial Link:=True, DataType:=wdPasteOLEObject, _
                           Placement:=wdInLine, DisplayAsIcon:=False
               WdDoc.InlineShapes(1).Width = 132    'Règle la largeur dans Word
     
                              'Calcul de la hauteur de plage dans le document word
               hauteur = 132 / WdDoc.InlineShapes(1).Width _
                                    * WdDoc.InlineShapes(1).Height
               WdDoc.InlineShapes(1).Height = Int(hauteur)       'Règle la hauteur
           End With
           End If
          Next k
     
     End If
        'WdApp.Visible = True 'Pour voir (Ne pas fermer le fichier depuis Word)
     
    Fin::
        WdDoc.Close True                       'Enregistre et ferme le doc word
        DoEvents            'Laisse au system le temps d'enregistrer le fichier
        WdApp.Quit                                            'ferme la session
     
        Set plage = Nothing
        Set WdApp = Nothing
        Set WdDoc = Nothing
    End Sub
    Voila mon programme ce met en erreur d'application, j'ai fais la pas a pas.J'ai remarquer que c'était
    Dim WdApp As Word.Application
    Dim WdDoc As Word.Document

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    outils références cocher msword

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    J'ai pas trouver msword?est-ce l enom exact??

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    J'ai trouver avec des recherche ceci ici...Mais je ne comprend pas le code donc si cet article peut aidez a trouvez une solution a mon probleme sa serai genial...

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Regarde ici, tu as la méthode

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Sa fait deux fois que je le voie ce truc je m'en suis inspirer pour programmez ce que j'ai fait...Mais mon problème, c'est que le programme s'arrete des le debut au niveau de :
    Set WdApp = CreateObject("word.application")
    Set WdDoc = WdApp.Documents.Open("C:\ah.doc")
    Donc svp aidez moi

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

Discussions similaires

  1. [WD-2003] Macro cherchant du text ss Excel pour copie dans word
    Par yannick113 dans le forum VBA Word
    Réponses: 0
    Dernier message: 21/12/2010, 09h53
  2. [WD-2007] Copie dans word de schémas réalisés dans powerpoint
    Par bendesarts dans le forum Word
    Réponses: 5
    Dernier message: 15/11/2010, 16h40
  3. [2007] Impossibilité de Modifier un Objet Excel intégré dans Word
    Par isabelle.letrong dans le forum Microsoft Office
    Réponses: 1
    Dernier message: 15/07/2010, 13h51
  4. Affecter un nom à un tableau Excel collé dans Word
    Par gegadin dans le forum VBA Word
    Réponses: 3
    Dernier message: 22/09/2008, 09h16
  5. Réponses: 2
    Dernier message: 19/06/2008, 10h13

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