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 :

suppression de ligne word via excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut suppression de ligne word via excel
    Bonjour,
    je cherche a supprimer une ligne entière de mon document Word que je met à jour via un formulaire Excel.
    la ligne concerné sur Word contient ceci:
    deux tabulations puis un contrôle de contenu de texte brut
    j'utilise le code suivant pour supprimer le contrôle de contenu si ma cellule Excel est vide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ws.Cells(10, 2).Value = "" Then
             WordDoc.selectcontentcontrolsbytitle(ws.Cells(10, 1).Value).Item(1).Delete True
    End if
    j'ai ensuite essayé d'englober mes deux tabulations et le contrôle du contenu de texte brut par un contrôle du contenu du texte enrichi nommé "cache_adresse2" et mis le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ws.Cells(9, 2) = "" Then
        WordDoc.selectcontentcontrolsbytitle("cache_adresse2").Item(1).Delete True
    End If
    cela me vide bien la ligne mais elle est toujours présente soit:
    avant:
    adresse1
    adresse2
    CP Ville
    après lancement macro:
    33 rue bidulle

    13547 par ici
    je voudrais:
    33 rue bidulle
    13547 par ici

    j'espère avoir été assez clair.
    Merci pour vos solutions

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lebowsky60 Voir le message
    Bonjour,

    Il vous faut travailler par paragraphe. Je n'ai pas testé ce code avec une instance Word depuis Excel.
    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
     
    Sub TestSupprimerParagrapheContentControl()
        SupprimerParagrapheContentControl ActiveDocument, "cache_adresse2"
    End Sub
     
    Sub SupprimerParagrapheContentControl(ByVal WordDoc2 As Object, ByVal TitreDuControle As String)
     
    Dim I As Integer, ParagrapheSelectionne As Integer
    Dim MaSelection As Object, MonApplication As Object
     
     
       ParagrapheSelectionne = 0
       With WordDoc2
     
            Set MonApplication = .Parent
            Set MaSelection = MonApplication.Selection
     
            For I = 1 To .ContentControls.Count
                With .ContentControls(I)
                     If .Title = TitreDuControle Then
                        .Range.Select
                        MaSelection.HomeKey unit:=wdStory, Extend:=wdExtend
                        ParagrapheSelectionne = MaSelection.Paragraphs.Count
                        Exit For
                     End If
                End With
            Next I
     
            If ParagrapheSelectionne > 0 Then
               ' Debug.Print MaSelection.Text
               .Paragraphs(ParagrapheSelectionne).Range.Delete
            End If
     
            Set MonApplication = Nothing
            Set MaSelection = Nothing
     
       End With
     
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    désolé mais il faut que je remplace quelque chose ou je l'écris tel quel

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lebowsky60 Voir le message
    ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If ws.Cells(10, 2).Value = "" Then
       SupprimerParagrapheContentControl WordDoc, "cache_adresse2"
    End If

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Merci beaucoup ça fonctionne

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

Discussions similaires

  1. [WD-97] Publipostage dans word via Excel
    Par jl_danse dans le forum VBA Word
    Réponses: 14
    Dernier message: 27/05/2010, 11h29
  2. [XL-2000] Modification d'un fichier word via excel
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 13/11/2009, 16h04
  3. Modifier le texte d'un signet word via Excel
    Par yamat dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/07/2008, 18h19
  4. Remplir un doc word via excel
    Par enretard dans le forum Word
    Réponses: 12
    Dernier message: 17/06/2008, 12h46
  5. couper/coller entre deux signets word via excel
    Par ptitemar dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/08/2007, 11h41

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