Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
714 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide pour une macro excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour une macro excel

n°1230594
juanito
Posté le 25-10-2005 à 16:01:45  profilanswer
 

Bonjour à tous,
 
J'aimerais avec une macro envoyer un tableau excel dans un doc Word.
 
J'ai réussi à faire cette macro qui fonctionne mais je voudrais spécifier l'endroit où coller mon tabeau dans mon fichier Word. Quelle propiété dois-je utiliser ? Merci d'avance.
 
Ma macro :
 
Sub CopieExcelWord()
Dim PlageACopier As Range
Dim AppWord As Object
Set PlageACopier = Range("mon tableau" )
Set AppWord = CreateObject("Word.Application" )
PlageACopier.Copy
With AppWord
.Visible = True
.Documents.Open (ThisWorkbook.Path & "\Essai.doc" )
.Selection.Paste
End With
End Sub

mood
Publicité
Posté le 25-10-2005 à 16:01:45  profilanswer
 

n°1230888
Fred_l
Posté le 25-10-2005 à 18:42:28  profilanswer
 

J'avais fait ça pour quelqu'un du forum, ça peut t'aider.
 
C'est une recopie de données Excel dans des tableau Word...
En l'occurence 3 Tableaux Excel dans trois trableaux Word existant
 
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 25/09/2005 par Admin
 
Dim maxRows, maxCols, c, t, i, j As Integer
Dim Rng As Range
Dim NbreTableau As Integer
 
 
   
maxRows = 20
maxCols = 5
NbreTableau = 3
 
 
Set Word = CreateObject("Word.Application" )
docWord = Word.Documents.Open("C:\doc1.doc" )
Word.DisplayAlerts = False
Word.Visible = True
     
 
t = 1 ' Tableau Word
c = 1 ' Colone Word
i = 0 ' Colone Excel
j = 0 ' Ligne Excel
ActiveWorkbook.Sheets("Feuil1" ).Select
Set Rng = Feuil1.Range("A1" )
   
While t <= NbreTableau
    While c < maxCols
        j = 0
        For Each acell In Word.ActiveDocument.Tables(t).Columns(c).Cells
            Rng.Offset(j, i).Select
            acell.Range.Text = Rng.Offset(j, i).Value
            j = j + 1
        Next acell
        i = i + 1
        c = c + 1
    Wend
    If c >= maxCols Then
        Select Case t
            Case 1:
                ActiveWorkbook.Sheets("Feuil2" ).Select
                Set Rng = Feuil2.Range("A1" )
                maxRows = 2
                maxCols = 5
            Case 2:
                ActiveWorkbook.Sheets("Feuil3" ).Select
                Set Rng = Feuil3.Range("A1" )
                maxRows = 10
                maxCols = 5
        End Select
         t = t + 1
         c = 1
         i = 0
    End If
    j = 0
     
Wend
   
docWord.Save
docWord.Close
Word.Quit
End Sub

n°1231187
juanito
Posté le 26-10-2005 à 01:28:02  profilanswer
 

Merci pour ta réponse, je vais voir si je peux arriver à mon résultat avec ta macro.
 
Le problème est que je n'ai pas de tableau dans mon doc word à la base. Je souhaite donc coller à des endroits précis de mon document des tableaux (plages de cellules nommées) provenant d'excel avec la mise en forme d'Excel.
 
J'arrive bien à copier ma plage nommée, mais je ne sais pas comment spécifier l'endroit.
 
JP


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide pour une macro excel

 

Sujets relatifs
Aide coppermine[VBA Excel] lancement du prg des l'ouverture d'excel
[Excel VBA] Champ facultatifExport Active Directory vers Excel
Forcer un fichier .xls à s'ouvrir dans excelexcel aide macro pr comparer des lignes
Besoin d'aide macro sur excelBesoin d aide pour une macro excel / VBA svp
A l'aide, comment executer une macro ds un autre document Excel [VB] 
Plus de sujets relatifs à : Aide pour une macro excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR