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 :

[VBA-W] Executer plusieurs fois la même procédure


Sujet :

VBA Word

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 120
    Points : 46
    Points
    46
    Par défaut [VBA-W] Executer plusieurs fois la même procédure
    Bonjour tt le monde,

    La semaine derniere ouskel'n'or m'a donné une macro word permettent de chercher un mot et de coller la ligne correspondante sur un autre doc :

    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
    Sub chercher()
     
        'place en haut du document
        Selection.HomeKey Unit:=wdStory
     
        'caractéristiques du signe cherché
        Selection.Find.ClearFormatting
        With Selection.Find
            .Text = ChrW(61510)
            .Forward = True
            .Wrap = wdFindAsk
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute
     
        'Place en début de ligne
        Selection.HomeKey Unit:=wdLine
     
        'Sélectionne toute la ligne
        Selection.EndKey Unit:=wdLine, Extend:=wdExtend
     
        'Colle la ligne sur un nouveau document
        Selection.Copy
        Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
        Selection.Paste
     
     End Sub
    Le pb c'est que si on a plusieurs lignes contenant le caractere recherché, le code trouve le premier mot, colle la ligne sur un autre document et s'arrete. Ils n'éxecute la procédure qu'une seule fois.[/list][/quote]

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    le code trouve le premier mot, colle la ligne sur un autre document et s'arrete
    Merci de la précision, mais tu aurais dû rester sur le même post.
    Pour répéter l'opération, il faut que tu mettes les lignes que je t'ai passées dans une boucle


    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
    Sub chercher()
    Dim ok As Boolean
    Dim NomDocPrincipal
        Application.DisplayAlerts = Fales
        NomDocPrincipal = ActiveDocument.Name
        'place en haut du document
        Selection.HomeKey Unit:=wdStory
        ok = True
        Do While ok
            'caractéristiques du signe cherché
            Selection.Find.ClearFormatting
            With Selection.Find
                .Text = "+" 'ChrW(61510)
                .Forward = True
                .Wrap = wdFindAsk
                .Format = True
            End With
            Selection.Find.Execute
     
            'Place en début de ligne
            Selection.HomeKey Unit:=wdLine
     
            'Sélectionne toute la ligne
            Selection.EndKey Unit:=wdLine, Extend:=wdExtend
            ok = InStr(Selection, "+") <> 0
            'Colle la ligne sur un nouveau document
            If ok Then
                Selection.Cut
                Documents.Add
                Selection.Paste
            End If
            Documents(NomDocPrincipal).Select
        Loop
        Application.DisplayAlerts = True
    End Sub
    A+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    NB - Place le caractère cherché dans une variable sinon tu seras obligé de l'écrire plusieurs fois

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 120
    Points : 46
    Points
    46
    Par défaut
    je vais essayer avec ce code et je te dirai si ca marche je te remercie d'avance

Discussions similaires

  1. [XL-2007] coder un traitement plusieurs fois à une même page web en vba
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/02/2011, 10h13
  2. [JFrame] réafficher plusieurs fois un même panel à l'écran
    Par Monkeyget dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 01/04/2005, 14h29
  3. code qui s'execute plusieurs fois
    Par khelif dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 21h56
  4. SELECT plusieurs fois les mêmes champs
    Par aergil dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/02/2005, 12h10
  5. [VB.NET] Appliquer plusieurs fois la même fonction...
    Par MiJack dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/09/2004, 10h52

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