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

Excel Discussion :

Extraction de Word vers Excel, problème avec liste déroulante [XL-2010]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2016
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Extraction de Word vers Excel, problème avec liste déroulante
    Bonjour à tous,

    Je découvre le VBA depuis quelques semaines, dans le but de mettre en place une macro permettant d'exploiter dans Excel des entretiens saisis sous Word. Je suis actuellement bloqué sur un problème qui devrait vous intriguer : parmi toutes les informations à extraire, j'ai des lignes d'un tableau dont la première cellule contient une liste déroulante. Le nombre de lignes peut varier, c'est pourquoi j'ai fait une commande VBA permettant de supprimer la première ligne du tableau (l'en-tête dont je n'ai pas besoin) avant de copier puis coller le tableau dans Excel.

    C'est la que ça bloque; à ma grande surprise lorsque le tableau est collé dans Excel, un saut de ligne se fait à la suite de la 1ère cellule (la liste déroulante). Je vous ai fait un petit exemple pour illustrer le problème :monDocument.docxTest.xlsm

    Peut-être que quelqu'un a déjà trouvé une parade, peut-être qu'il n'est pas possible de coller une ligne contenant une liste déroulante; si quelqu'un peut m'éclairer je suis preneur svp. Pour le moment la seule alternative que je vois est d'extraire cellule par cellule. Or, j'ai de 0 à 5 lignes avec 4 colonnes et deux tableaux comme ça à extraire, cela va donner un code long et pas idéal...

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour !

    En dehors des règles du forum qu'il faudrait commencer par lire, rappels :

    Important : [Actualité] Fichiers joints dans les discussions

    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut Extraction de Word vers Excel, problème avec liste déroulante
    En insérant ce code dans ta procédure tu comprendras que la cellule est copiée avec le caractère spéciale de la colonne qui est l'équivalent de retour de chariot ("touche return"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print "cell(2, 1) = " & WordDoc.Tables(1).cell(2, 1)

  4. #4
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut Extraction de Word vers Excel, problème avec liste déroulante
    J'ai remanié ton code pour donner une ébauche de solution:
    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
    Sub test01()
    Dim WApp As Object
    Dim WordDoc As Object
     
        Set WApp = CreateObject("Word.Application")
        WApp.Visible = True    'Word reste masqué pendant l'opéraion
        'ouvre le document Word (lien à modifier)
        Set WordDoc = WApp.Documents.Open("C:\Users\tevrotca\Desktop\Test\monDocument.docx")
     
        'copier les lignes de la 1ere table Word dans XL
        ActiveSheet.Range("a1").Activate
        ligne = 0
        j = 2
        For j = 2 To 3            ' boucle sur 2 lignes de la table
            For k = 1 To 4       ' boucle sur 4 colonnes de la table
                MyCell = Trim(WordDoc.Tables(1).cell(j, k))  'pour supprimer les espaces
                MyCell = Mid(MyCell, 1, Len(MyCell) - 1)       'supprime le dernier caractère spécial s'il y en a
                ActiveCell.Value = MyCell                             'met le résultat dans XL
                ActiveCell.Offset(ligne, k).Activate                'passe à la colonne suivante
            Next k
           NextDest = "A" & j
           ActiveSheet.Range(NextDest).Activate               'passe à la ligne suivante
        Next j
     
        WordDoc.Close    'fermeture document Word
        WApp.Quit    'fermeture session Word
    End Sub

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mai 2016
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Bonjour !

    Merci clementmarcotte, je sais que topic se dit sujet en français, tu aimes chercher la petite bête on dirait ^^. Mais tu as raison, pourquoi parler en anglais quand on peut le faire en français ?

    Merci Zekraoui_Jakani pour ton code, c'est tout à fait ce qu'il me faudrait ! As-tu exécuté la macro dans mon exemple ? Si oui tu as du voir que ça fonctionne, mais que les données extraites dans excel se retrouvent séparées par des cellules vides. Je n'ai pas réussi à comprendre pourquoi et à adapter ton code pour que le tableau ai la même disposition dans excel que dans Word (je rappelle que je suis un gros noob, je fais du bricolage on peut dire).

    De toute façon, je n'ai pas réussi à l'incorporer dans ma macro. Il s'agit d'une boucle sur plusieurs fichiers Word qui extrait les informations dans un même tableau Excel. J'indique la cellule de destination grâce à Cells(i, 1) (i étant la première ligne non vide), ce qui rend l'adaptation de ton code très compliqué avec mes faibles compétences. De plus, j'ai été bloqué par le "Activate" donc j'ai fini par abandonner.

    Finalement j'ai extrait les cellules contenant une liste déroulante une par une (d'ailleurs j'ai été étonné, il est possible de copier/coller une ligne entière mais pas une colonne), puis supprimé la première colonne avant de copier/coller le reste du tableau. Je n'ai pas envie de trop perdre mon temps (et le tien), donc si c'est trop compliqué d'adapter ta solution ne cherche pas, je me contenterai de ma méthode.

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

Discussions similaires

  1. [XL-2010] Probleme Extraction cellules Word vers Excel
    Par jérémyp8 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/04/2013, 15h08
  2. Réponses: 1
    Dernier message: 03/06/2009, 16h14
  3. Réponses: 4
    Dernier message: 03/01/2007, 21h25
  4. Problème avec listes déroulantes
    Par dl_jarod dans le forum Langage
    Réponses: 9
    Dernier message: 07/06/2006, 10h13
  5. Problème avec liste déroulante
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2005, 21h04

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