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 :

Copie de Excel vers Word


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 389
    Par défaut Copie de Excel vers Word
    Bonjour à toutes et tous
    Excel : LTSC
    J’ai un tableau source sur une feuille et une liste déroulante sur une autre pour filtrer mes données.
    J’ai créé une macro pour copier les résultats de la liste sur un document Word. Tout fonctionne parfaitement. En revanche, je voudrais que sur le doc Word seules les cellules contenant les données soient copiées. Dans le code que j’ai trouvé il faut indiquer le nombre de lignes et le nombre de colonnes à copier sauf que la liste déroulante change tout le temps donc parfois les cellules du tableau sur Word sont vides.
    Y a-t-il un bout de code pour dire à Excel de ne copier que les lignes issues de la liste déroulante.
    J’espère être assez clair dans mes explications.

    Merci pour votre aide

    Voici le code de la macro
    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
    Sub add_table_2_word()
     
    Dim objWord
    Dim objDoc
    Dim objSelection
    Dim i As Integer
    Dim j As Integer
     
    Set objWord = CreateObject("Word.Application")
    Set objDoc = objWord.Documents.Add
    Set objSelection = objWord.Selection
     
    With objWord
     
    objWord.Visible = True
    objWord.Activate
    .Selection.TypeText ("EPI METIERS")
     
    Set CountryTable = objDoc.Tables.Add(objSelection.Range, 20, 5)
     
    With CountryTable
     
        With .Borders
            .Enable = True
            .OutsideColor = RGB(0, 0, 0)
            .InsideColor = RGB(0, 0, 0)
        End With
     
        .Rows(1).Shading.BackgroundPatternColor = RGB(51, 204, 51)
     
        For i = 1 To 20
     
            For j = 1 To 5
     
            .Cell(i, j).Range.InsertAfter ThisWorkbook.Sheets("Tableau1").Cells(i, j).Text
     
            Next j
     
        Next i
     
    End With
    End With
    End Sub

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 229
    Par défaut
    Hello,

    la macro sans voir les données c'est pas top.
    Vous ne pouvez pas mettre le fichier avec des données anonymes histoire qu'on y voie clair

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 389
    Par défaut
    Oui voici un exemplaire test. Merci pour votre aide
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 229
    Par défaut
    Voici le code corrigé
    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
    Sub add_table_2_word()
     
        Dim objWord
        Dim objDoc
        Dim objSelection
        Dim i As Integer
        Dim j As Integer
     
        ' *** ajout ***
        Dim Nb_Ligne As Integer
        Nb_Ligne = ThisWorkbook.Sheets("Tableau1").Cells(Rows.Count, 1).End(xlUp).Row
        ' *** ajout ***
     
        Set objWord = CreateObject("Word.Application")
        Set objDoc = objWord.Documents.Add
        Set objSelection = objWord.Selection
     
        With objWord
     
            .Visible = True
            .Activate
            .Selection.TypeText ("EPI METIERS")
     
            Set CountryTable = objDoc.Tables.Add(objSelection.Range, Nb_Ligne, 5)     ' *** modif ***
     
            With CountryTable
     
                With .Borders
                    .Enable = True
                    .OutsideColor = RGB(0, 0, 0)
                    .InsideColor = RGB(0, 0, 0)
                End With
     
                .Rows(1).Shading.BackgroundPatternColor = RGB(51, 204, 51)
                ' *** ajout ***
                .Rows(1).HeadingFormat = True
                ' *** ajout ***
     
                For i = 1 To Nb_Ligne     ' *** modif ***
     
                    For j = 1 To 5
     
                        .Cell(i, j).Range.InsertAfter ThisWorkbook.Sheets("Tableau1").Cells(i, j).Text
     
                    Next j
     
                Next i
     
            End With
     
        End With
     
    End Sub

  5. #5
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 389
    Par défaut
    Un grand Merci ça marche Nickel.

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

Discussions similaires

  1. Copie depuis Excel vers word
    Par Uranne-jimmy dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/10/2013, 16h36
  2. Réponses: 7
    Dernier message: 17/09/2013, 14h42
  3. Copie de Excel vers Word
    Par kong985 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2008, 10h33
  4. problème copie Tableau de Excel vers Word
    Par el_titou007 dans le forum VBA Word
    Réponses: 2
    Dernier message: 02/04/2007, 09h42
  5. [VBA-E]Copie graphique de excel vers word
    Par conconbrr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2006, 10h49

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