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 :

Macro sous Word copié sur ce Forum, avec résultat "Attendu : Fin d'instruction"


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2017
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Macro sous Word copié sur ce Forum, avec résultat "Attendu : Fin d'instruction"
    Bonjour,

    Tout est presque dans l'intitulé.
    Mais d'abord, je dois solliciter votre bienveillance, si je poste dans un Forum inadapté. C'est mon 1er post ici.
    Ensuite, il me faut préciser que je n'ai jamais effectué la moindre Macro ! Pire, je sais à peine ce dont il s'agit.
    Pour le reste :
    Ayant un fichier Word, importé de Excel (je devrais dire, bidouillé) j'ai un tableau de 409 lignes dont un grand nombre sont vierges. Je ne parviens pas, pour les supprimer, à sélectionner plusieurs lignes à la fois en agissant comme d'habitude sur "ctrl".
    J'ai vu sur l'un des Forums de ce Site, une macro répondant exactement à mon problème. Je le mets en pièce jointe sous le nom de "Modèle". (Je ne parviens pas à mettre 2 pièces jointes. J'essaierai de la poster autrement.)
    J'ai essayé de le copier exactement sur la feuille Microsoft Visual Basic. %ais j'obtiens un message d'erreur de compilation ainsi que "Attendu : Fin d'instruction". Je mets ce résultat en pièce jointe, sous le nom de "ERREUR".

    J'ai conscience de poser ici une question ... basique, sans doute assez ridicule ! Mais à 81 ans, on ne doute de rien...

    Merci par avance si une aide est possible, et de surcroît, si elle m'est compréhensible.
    Images attachées Images attachées  

  2. #2
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2017
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Suite du post : Macro sous Word copié sur ce Forum, avec résultat "Attendu : Fin d'instruction"
    Juste pour joindre le "Modèle" trouvé sur ce Forum.
    Images attachées Images attachées  

  3. #3
    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,

    Efface ta ligne en rouge avec sub essai1(1)

    Il manque un End Sub pour fermer cette sub-là

    Il est impossible d'imbriquer des subs

    P.S. Il est préférable de mettre le code directement dans la question au lieu de mettre une image. Le forum accepte les copier-coller. Également, il vaut mieux continuer le sujet initial que d'en ouvrir un autre, tant et aussi longtemps que c'est lié à la question initiale.
    À 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.

  4. #4
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    Si c'est un tableau que tu as dans ton document, ta macro ne fonctionnera pas. C'est une macro pour effacer les lignes vides d'un texte. Pas d'un tableau.

    Voici la macro que j'utilise pour enlever toutes les rangées vides d'un tableau. C'est une macro qui vient du site MVP :

    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
    Sub Effacer_lignes_vides()
    'Deleting all empty rows in a table
     
        ''Note that you could delete the empty rows from all tables in a document by replacing the line:
        ''    Set oTable = Selection.Tables(1)
        ''With the line
        ''    For Each oTable In ActiveDocument.Tables
        ''and adding the line:
        ''    Next oTable
        ''just Before:
        ''    Application.ScreenUpdating = True
     
    Dim oTable As Table, oRow As Range, oCell As Cell, Counter As Long, _
    NumRows As Long, TextInRow As Boolean
     
    ' Specify which table you want to work on.
    Set oTable = selection.tables(1)
    ' Set a range variable to the first row's range
    Set oRow = oTable.Rows(1).Range
    NumRows = oTable.Rows.count
    Application.ScreenUpdating = False
     
    For Counter = 1 To NumRows
     
        StatusBar = "Row " & Counter
        TextInRow = False
     
        For Each oCell In oRow.Rows(1).Cells
            If Len(oCell.Range.Text) > 2 Then
                'end of cell marker is actually 2 characters
                TextInRow = True
                Exit For
            End If
        Next oCell
     
        If TextInRow Then
            Set oRow = oRow.Next(wdRow)
        Else
            oRow.Rows(1).delete
        End If
     
    Next Counter
     
    Application.ScreenUpdating = True
     
    End Sub
    Bonne chance!

    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

Discussions similaires

  1. [WD-2003] Macro sous word ne fonctionne pas sur tous les PC
    Par yannick113 dans le forum VBA Word
    Réponses: 1
    Dernier message: 03/01/2011, 16h10
  2. comment faire une macro sous word
    Par Debutante-Excel dans le forum VBA Word
    Réponses: 4
    Dernier message: 16/10/2009, 14h27
  3. probleme de creation macro sous word
    Par steph62138 dans le forum VBA Word
    Réponses: 2
    Dernier message: 05/03/2009, 12h54
  4. macro sous word XP
    Par delamarque dans le forum VBA Word
    Réponses: 4
    Dernier message: 05/12/2005, 10h15

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