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 :

[WD-2016] - Copier titre Word vers Excel


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [WD-2016] - Copier titre Word vers Excel
    Bonjour !

    Après avoir beaucoup farfouillé sur le forum, je sollicite votre aide.
    Je souhaite créer un bout de code pour extraire certains titres (titre 1, titre 2) d'un cahier des charges format Word vers un devis format Excel (à partir de la case B11).

    Seulement j'ai un problème au niveau de la ligne : wb.ActiveSheet.Range("B11").InsertAfter stTemp
    Je pense que le reste est a peu près cohérent (je débute, j'ai lu les faqs et tuto de certains, merci d'ailleurs !, mais je reste débutant++)

    Quelqu'un pourrait-il m'éclairer svp ?

    Merci d'avance !

    Ci-joint le code que j'ai fait

    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
    Sub CCTP_to_DPGF()
     
    Dim oPara As Paragraph                  'On déclare l'objet "Paragraphe" du texte word
    Dim stTemp As String                    'On déclare la variable qui recevra les titres que l'on veut copier
     
    Dim doc As Document                    'On déclare le document word
    Dim wb As Workbook                    'On déclare le classeur excel
    Dim ws As Worksheet                   'On déclare la feuille excel
     
     
    Set doc = Documents.Open("C:\Users\MENAJ7\Desktop\Perso\Cours VBA\Test du code\CCTP.docx")    'On donne le chemin du document word (CCTP) pour que le programme y ai accès et l'ouvre
    Set wb = Workbooks.Open("C:\Users\MENAJ7\Desktop\Perso\Cours VBA\Test du code\DPGF.xlsx")     'On donne le chemin de la variable DPGF pour que le programme y ai accès et l'ouvre
    Set ws = wb.Worksheets("Classeur")                                                            'On donne la feuille excel sur laquelle on veut travailler
     
     
    'Set doc = ActiveDocument
    'Set wb = ActiveWorkbooks
     
        For Each oPara In doc.Paragraphs
            Select Case oPara.Style
                   Case "Titre 2;article principal;E2;l2;I2;InterTitre;heading 2;CHAP2;MODRAP;CHAPITRE I. 1;CHAPITRE I. 11;CHAPITRE I. 12;CHAPITRE I. 13;CHAPITRE I. 14;CHAPITRE I. 15;M-Titre 2;poste"
                   stTemp = NetText(oPara.Range.Text) & "|"
                   Case "Titre 3;article détaillé;E3;Titre 3 Car1;E3 Car1;Titre 3 Car Car;E3 Car Car;H3;Titre3;heading 3;l3;CT;h3;3rd level;Titre 3 Car1 Car Car;E3 Car1 Car Car;Titre 3 Car Car Car Car;E3 Car Car Car Car;Titre 3 Car2 Car;E3 Car2 Car;Titre 3 Car Car1 Car"
                   stTemp = NetText(oPara.Range.Text) & "|"
                   Case Else
                   stTemp = ""
            End Select
     
        'DPGF.Range("B11").InsertAfter stTemp
        'ActiveWorkbook.Worksheets("DPGF").Range("B11").InsertAfter stTemp
        'wb.Range("B11").InsertAfter stTemp
        'With ws
        'Range("B11").InsertAfter stTemp
        'End With
        'Sheets("Classeur").Select.Range("B11").InsertAfter stTemp
        wb.ActiveSheet.Range("B11").InsertAfter stTemp
     
     
     
        Next oPara
     
        Set CCTP = Nothing
        Set DPGF = Nothing
     
    End Sub
     
    'Pour info
    'Titre 1 = Titre 2;article principal;E2;l2;I2;InterTitre;heading 2;CHAP2;MODRAP;CHAPITRE I. 1;CHAPITRE I. 11;CHAPITRE I. 12;CHAPITRE I. 13;CHAPITRE I. 14;CHAPITRE I. 15;M-Titre 2;poste
    'Titre 2 = Titre 3;article détaillé;E3;Titre 3 Car1;E3 Car1;Titre 3 Car Car;E3 Car Car;H3;Titre3;heading 3;l3;CT;h3;3rd level;Titre 3 Car1 Car Car;E3 Car1 Car Car;Titre 3 Car Car Car Car;E3 Car Car Car Car;Titre 3 Car2 Car;E3 Car2 Car;Titre 3 Car Car1 Car
     
    Public Function NetText(stTemp As String) As String
    'Permet de copier les chaines de caractères sans le dernier caractère inutile
    NetText = Left(stTemp, Len(stTemp) - 1)
    End Function

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    L'objet Range d'Excel n'a pas de méthode InsertAfter. Pour mettre du texte dans une cellule, on utilise la propriété value.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

Discussions similaires

  1. [XL-2013] copier coller word vers excel
    Par Lulu3344 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/08/2016, 15h37
  2. CCTP DPGF mise à jour des titres word vers Excel
    Par x_all dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 30/10/2015, 17h37
  3. [XL-2010] CCTP DPGF mise à jour des titres word vers Excel
    Par x_all dans le forum Excel
    Réponses: 1
    Dernier message: 27/10/2015, 09h42
  4. [XL-2003] Copier/coller Word vers Excel
    Par midge dans le forum Excel
    Réponses: 4
    Dernier message: 23/05/2011, 16h49
  5. copier avec une liaison de word vers Excel
    Par oduss dans le forum Excel
    Réponses: 2
    Dernier message: 28/12/2007, 08h44

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