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 :

Comment faire pr que la macro aille jusqu'à la fin du document


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 47
    Points : 10
    Points
    10
    Par défaut Comment faire pr que la macro aille jusqu'à la fin du document
    Salut

    Je suis débutant (hyper débutant) en macros.
    J'ai une tâche répétitive à réaliser dans word, en fait je dois déplacer des lignes de texte qui commencent toutes par les mêmes caractères. Bref, j'arrive à faire ça au clavier donc j'ai enregistré ma macro avec Word.
    Sauf que j'ai ensuite lancé cette macro pour réaliser la tâche, mais ça ne l'a fait que sur une ligne de texte.
    Il faudrait que je sache quel code taper afin que la tâche soit reproduite jusqu'à la fin du document (et qu'elle s'arrête alors)...
    je sais c'est super basique mais je suis super débutant et j'ai pas trouvé dans l'aide de Word...

    je vous copie-colle ma macro actuelle:

    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
     
    Sub InverserSfxEtXv()
    '
    ' InverserSfxEtXv Macro
    ' Macro enregistrée le 24/03/2012 par L
    '
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = "\sfx "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute
        Selection.MoveLeft Unit:=wdCharacter, Count:=1
        Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
        Selection.Cut
        Selection.MoveDown Unit:=wdLine, Count:=1
        Selection.PasteAndFormat (wdPasteDefault)
    End Sub
    merci beaucoup d'avance!!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Merci de ta réponse mais ça ne répond pas à ma question. Ma macro est pas censée remplacer du texte, mais intervertir 2 lignes qui commencent par les mêmes caractères mais qui dans le reste de la ligne sont différentes à chaque fois...
    Ma macro repère les lignes en question (puisqu'elles commencent par le même texte), les sélectionne, les coupe et les colle à un autre endroit.

    Rechercher/remplacer permet pas de faire ça ; une macro le peut, mais par contre, et c'est là ma question, ce que je sais pas faire c'est faire en sorte que ça fasse un "loop" donc que ça fasse la tâche dans le document en entier et pas seulement à la première occurrence...

    Merci d'avance...

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Il faut faire une boucle basée sur le résultat de la recherche. Tant que la recherche est fructueuse, on continue.

    il y a au moins un exemple là : http://heureuxoli.developpez.com/off...-et-remplacer/
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Merci... je crois avoir compris qu'il faut mettre "For" et "Next" quelque part, mais je sais pas trop où, ni quoi mettre après "For"... je suis vraiment débutant.

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Dans le 3B, il y a des boucles sur le résultat de la recherche.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Merci, mais comme je comprends pas la moitié du code, je ne sais pas ce que je dois recopier et ce que je dois laisser.
    Par exemple, j'ai cherché "boofound" dans Google, et je suis tombé sur des kilos de pages de Visual Basic mais aucune explication sur sa fonction...
    J'aurais besoin d'une aide plus concrète...
    merci

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    C'est normal que la recherche ne donne rien de pertinent.

    booFound est une variable de type Booléen que j'ai déclarée pour ma procédure.

    J'affecte une valeur à cette variable pour un test logique en fonction du résultat du test, on continue ou on arrête la procedure.

    Si on détaille, j'essaie dans la déclaration des variables d'utiliser en début de nom de variable le type de variable.

    boo => Booléen
    st => String
    int => Integer
    lng => Long
    o => Object
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/07/2013, 10h34
  2. Réponses: 8
    Dernier message: 25/11/2011, 14h18
  3. [VB6]Comment faire pour que le caption d'une ARProgressBar..
    Par MegaBigBoss dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 02/04/2006, 20h42
  4. comment faire pour que plusieurs user utilise mem macro?
    Par megapacman dans le forum Access
    Réponses: 4
    Dernier message: 27/03/2006, 16h55
  5. CSS: comment faire pour que mes coins soit arrondi
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 16/02/2006, 12h08

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