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 :

UNe macro word qui copie les cellules d'excel dans word!


Sujet :

VBA Word

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 79
    Points : 35
    Points
    35
    Par défaut UNe macro word qui copie les cellules d'excel dans word!
    Bonsoir,

    j'aimerais que ma macro sous word aille cette fois copier
    les cellules remplies d'une feuille sous excel et qu'elle les copies
    de manière à ce que l'on ne voit pas les cellules, mais seulement
    le texte.

    La plage de cellules excel varient.
    L'idéal serait de copier toutes la feuille et de coller seulement
    les cellules remplies

    voila deja le petit programme que j'ai déjà

    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
     
    Sub Syntheseword()
     
    'necessite d'activer la reference Microsoft Excel xx.x Object Library
    'dans l'editeur de macros
    'Menu Outils
    'References
    'coches la ligne "Microsoft Excel xx.x Object Library"
    'Cliques sur OK pour valider
    '
    Dim Fichier As String, path As String
    Dim AppXl As Excel.Application
    Dim Synthese As Excel.Workbook
     
    path = ActiveDocument.path & "\"
     
    'boucle sur les classeur du Repertoire
    Fichier = Dir(path & "*.xls")
    Do While Fichier <> ""
    If Left(Fichier, 3) = "Syn" Then Exit Do
    Fichier = Dir
    Loop
     
    'ouverture classeur Excel
    Set AppXl = CreateObject("Excel.Application")
    AppXl.Visible = False 'mettre False pour qu'Excel reste masqué
    Set Synthese = AppXl.Workbooks.Open(path & Fichier)
     
    AppXl.Run ("Module1.synthese_excel")
     
    'copie plage de cellule Excel
    Synthese.Sheets(4).Range("A1:G100").Copy
     
    'collage dans le document Word
    ActiveDocument.Range.PasteSpecial wdPasteText
     
    AppXl.CutCopyMode = False
    Synthese.Close True 'fermeture du classeur en sauvegardant les modifications
    AppXl.Quit
     
    End Sub

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 79
    Points : 35
    Points
    35
    Par défaut
    En fait je crois que j'ai trouvé!
    A vous de me dire ce vous pensez de mon 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
     
     
    Sub SyntheseCabinet2()
    'necessite d'activer la reference Microsoft Excel xx.x Object Library
    'dans l'editeur de macros de word
    'Menu Outils
    'References
    'coches la ligne "Microsoft Excel xx.x Object Library"
    'Cliques sur OK pour valider
    '
    Dim Fichier As String, path As String
    Dim AppXl As Excel.Application
    Dim Wbexcel As Excel.Workbook
     
    path = ActiveDocument.path & "\"
     
    'boucle sur les classeur du Repertoire
    Fichier = Dir(path & "*.xls")
    Do While Fichier <> ""
    If Left(Fichier, 3) = "Syn" Then Exit Do
    Fichier = Dir
    Loop
     
    'ouverture classeur Excel
    Set AppXl = CreateObject("Excel.Application")
    AppXl.Visible = False 'mettre False pour qu'Excel reste masqué
    Set Wbexcel = AppXl.Workbooks.Open(path & Fichier)
     
    AppXl.Run ("Module1.synthese_excel")
     
    'copie plage de cellule Excel
    Wbexcel.Sheets(2).Range("A1:M500").Copy
     
    'collage dans le document Word
     
    Selection.Collapse Direction:=wdCollapseStart
    ActiveDocument.Range.PasteSpecial DataType:=wdPasteText
     
    AppXl.CutCopyMode = False
    Wbexcel.Close True 'fermeture du classeur en sauvegardant les modifications
    AppXl.Quit
     
    ' If Options.CheckGrammarWithSpelling = True Then
    '        ActiveDocument.CheckGrammar
    '    Else
    '        ActiveDocument.CheckSpelling
    '    End If
     
    End Sub

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/02/2015, 13h34
  2. Réponses: 5
    Dernier message: 20/10/2013, 03h09
  3. [VBA-E]Une macro VBA qui les controlerait toutes..
    Par bonilla dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/10/2008, 11h20
  4. [VBA-E]Lancer une macro sur changement de valeur cellule ?
    Par jeremiegrenoble dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/03/2006, 14h22
  5. Réponses: 5
    Dernier message: 07/01/2006, 16h55

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