Bonjour.
J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal)
que je met en page avec la macro suivante:
Selection.MoveRight Unit:=wdCharacter, Count:=70
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.TypeParagraph
Selection.MoveRight Unit:=wdCharacter, Count:=70
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
etc.
La macro est très longue et je dois l'exécuter plussieur fois pour arriver à
la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes
jusqu'à la fin du fichier, mais je n'y arrive pas .
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AB
Bonjour, Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être pourrais-tu t'expliquer plus clairement ? Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant des boucles plutôt que de répéter la même instruction n fois. Mais les experts en VBA vont sûrement trouver mieux. AB
"Jean-Daniel Gallay" a écrit dans le message de news: 42b1a0e1$
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.TypeParagraph Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 etc. La macro est très longue et je dois l'exécuter plussieur fois pour arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .
Quelqu'un peut-il me donner le bon tuyau??
Merci d'avance gallay jd
Bonjour,
Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être pourrais-tu
t'expliquer plus clairement ?
Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant des
boucles plutôt que de répéter la même instruction n fois.
Mais les experts en VBA vont sûrement trouver mieux.
AB
"Jean-Daniel Gallay" <gallay.jd@bluewin.ch> a écrit dans le message de news:
42b1a0e1$1_1@news.bluewin.ch...
Bonjour.
J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal)
que je met en page avec la macro suivante:
Selection.MoveRight Unit:=wdCharacter, Count:p
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.TypeParagraph
Selection.MoveRight Unit:=wdCharacter, Count:p
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
etc.
La macro est très longue et je dois l'exécuter plussieur fois pour arriver
à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes
jusqu'à la fin du fichier, mais je n'y arrive pas .
Bonjour, Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être pourrais-tu t'expliquer plus clairement ? Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant des boucles plutôt que de répéter la même instruction n fois. Mais les experts en VBA vont sûrement trouver mieux. AB
"Jean-Daniel Gallay" a écrit dans le message de news: 42b1a0e1$
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.TypeParagraph Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 etc. La macro est très longue et je dois l'exécuter plussieur fois pour arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .
Quelqu'un peut-il me donner le bon tuyau??
Merci d'avance gallay jd
Marc
Bonjour
une façon simple serait la suivante: créer un subroutine doit() qui contient toutes vos instructions et l'appeler 14 fois avec la "macro" DoitAll :
'______________________________ Sub DoitAll() ' ' Macro enregistrée le 2005-05-31 par Marc ' Dim ctr As Integer ctr = 0
Do Call doit
Loop Until ctr = 14
End Sub '_________________________________ Sub doit() ' ' Doit Macro ' Macro enregistrée le 2005-05-31 par Marc ' Selection.MoveRight Unit:=wdCharacter, Count:p 'etc toutes les instructions que vous voulez répéter 14 fois..... 'etc
End Sub '______________________________________
Marc
"AB" wrote in message news:
Bonjour, Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être pourrais-tu t'expliquer plus clairement ? Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant des boucles plutôt que de répéter la même instruction n fois. Mais les experts en VBA vont sûrement trouver mieux. AB
"Jean-Daniel Gallay" a écrit dans le message de news: 42b1a0e1$
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.TypeParagraph Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 etc. La macro est très longue et je dois l'exécuter plussieur fois pour arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .
Quelqu'un peut-il me donner le bon tuyau??
Merci d'avance gallay jd
Bonjour
une façon simple serait la suivante: créer un subroutine doit() qui contient
toutes vos instructions et l'appeler 14 fois avec la "macro" DoitAll :
'______________________________
Sub DoitAll()
'
' Macro enregistrée le 2005-05-31 par Marc
'
Dim ctr As Integer
ctr = 0
Do
Call doit
Loop Until ctr = 14
End Sub
'_________________________________
Sub doit()
'
' Doit Macro
' Macro enregistrée le 2005-05-31 par Marc
'
Selection.MoveRight Unit:=wdCharacter, Count:p
'etc toutes les instructions que vous voulez répéter 14 fois.....
'etc
End Sub
'______________________________________
Marc
"AB" <spamophobe1@marseille.com> wrote in message
news:O9mCBMpcFHA.2420@TK2MSFTNGP12.phx.gbl...
Bonjour,
Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être
pourrais-tu t'expliquer plus clairement ?
Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant
des boucles plutôt que de répéter la même instruction n fois.
Mais les experts en VBA vont sûrement trouver mieux.
AB
"Jean-Daniel Gallay" <gallay.jd@bluewin.ch> a écrit dans le message de
news: 42b1a0e1$1_1@news.bluewin.ch...
Bonjour.
J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal)
que je met en page avec la macro suivante:
Selection.MoveRight Unit:=wdCharacter, Count:p
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.TypeParagraph
Selection.MoveRight Unit:=wdCharacter, Count:p
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
etc.
La macro est très longue et je dois l'exécuter plussieur fois pour
arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes
jusqu'à la fin du fichier, mais je n'y arrive pas .
une façon simple serait la suivante: créer un subroutine doit() qui contient toutes vos instructions et l'appeler 14 fois avec la "macro" DoitAll :
'______________________________ Sub DoitAll() ' ' Macro enregistrée le 2005-05-31 par Marc ' Dim ctr As Integer ctr = 0
Do Call doit
Loop Until ctr = 14
End Sub '_________________________________ Sub doit() ' ' Doit Macro ' Macro enregistrée le 2005-05-31 par Marc ' Selection.MoveRight Unit:=wdCharacter, Count:p 'etc toutes les instructions que vous voulez répéter 14 fois..... 'etc
End Sub '______________________________________
Marc
"AB" wrote in message news:
Bonjour, Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être pourrais-tu t'expliquer plus clairement ? Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant des boucles plutôt que de répéter la même instruction n fois. Mais les experts en VBA vont sûrement trouver mieux. AB
"Jean-Daniel Gallay" a écrit dans le message de news: 42b1a0e1$
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.TypeParagraph Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 etc. La macro est très longue et je dois l'exécuter plussieur fois pour arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .
Quelqu'un peut-il me donner le bon tuyau??
Merci d'avance gallay jd
Anacoluthe
Bonjour !
'Jean-Daniel Gallay' nous a écrit ...
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .
Outre le principe des boucles pour les 14 lignes comme l'a dit André, signalons quand même que répéter 5 lignes Selection.Delete Unit:=wdCharacter, Count:=1 (supprimer 1 caractère) s'écrit bien plus simplement Selection.Delete Unit:=wdCharacter, Count:=5 (supprimer 5 caractères) l'argument Count étant précisément là pour ça ...
Cette macro utilisant l'objet Selection a été enregistrée : on est donc extrêmement loin d'un programme optimisé.
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Bonjour !
'Jean-Daniel Gallay' nous a écrit ...
Bonjour.
J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal)
que je met en page avec la macro suivante:
Selection.MoveRight Unit:=wdCharacter, Count:p
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes
jusqu'à la fin du fichier, mais je n'y arrive pas .
Outre le principe des boucles pour les 14 lignes comme l'a dit
André, signalons quand même que répéter 5 lignes
Selection.Delete Unit:=wdCharacter, Count:=1
(supprimer 1 caractère)
s'écrit bien plus simplement
Selection.Delete Unit:=wdCharacter, Count:=5
(supprimer 5 caractères)
l'argument Count étant précisément là pour ça ...
Cette macro utilisant l'objet Selection a été enregistrée :
on est donc extrêmement loin d'un programme optimisé.
Anacoluthe
« Il est très difficile d'imaginer quelque chose de simple. »
- Pierre MAC ORLAN
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .
Outre le principe des boucles pour les 14 lignes comme l'a dit André, signalons quand même que répéter 5 lignes Selection.Delete Unit:=wdCharacter, Count:=1 (supprimer 1 caractère) s'écrit bien plus simplement Selection.Delete Unit:=wdCharacter, Count:=5 (supprimer 5 caractères) l'argument Count étant précisément là pour ça ...
Cette macro utilisant l'objet Selection a été enregistrée : on est donc extrêmement loin d'un programme optimisé.
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Geo
Bonjour Jean-Daniel Gallay
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante:
Sub MiseEnPage() Do If Selection.MoveRight(wdCharacter, 70) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.TypeParagraph Loop End Sub
Si tu veux des commentaires, n'hesite pas.
--
A+
Bonjour Jean-Daniel Gallay
Bonjour.
J'ai une fichier très long (Obtenu par transfer RS232 via Hyper
Terminal) que je met en page avec la macro suivante:
Sub MiseEnPage()
Do
If Selection.MoveRight(wdCharacter, 70) = 0 Then Exit Sub
Selection.Delete Unit:=wdCharacter, Count:=5
If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub
Selection.Delete Unit:=wdCharacter, Count:=5
If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub
Selection.TypeParagraph
Loop
End Sub
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante:
Sub MiseEnPage() Do If Selection.MoveRight(wdCharacter, 70) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.TypeParagraph Loop End Sub
Si tu veux des commentaires, n'hesite pas.
--
A+
Jean-Daniel Gallay
Bonjour. Grand merci à tous. Chacun m'a permi d'améliorer mes connaissances. Un merci particulier à Géo. Le "Sub MiseEnPage()" fonctionne à merveille. C'est exactement ce qu'il ne fallait. Meilleures salutations.
gallay jd
"Geo" a écrit dans le message de news:
Bonjour Jean-Daniel Gallay
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante:
Sub MiseEnPage() Do If Selection.MoveRight(wdCharacter, 70) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.TypeParagraph Loop End Sub
Si tu veux des commentaires, n'hesite pas.
--
A+
Bonjour.
Grand merci à tous. Chacun m'a permi d'améliorer mes connaissances.
Un merci particulier à Géo. Le "Sub MiseEnPage()" fonctionne à merveille.
C'est exactement ce qu'il ne fallait.
Meilleures salutations.
gallay jd
"Geo" <Geo@sans.pub> a écrit dans le message de news:
O3YFwEqcFHA.3712@TK2MSFTNGP09.phx.gbl...
Bonjour Jean-Daniel Gallay
Bonjour.
J'ai une fichier très long (Obtenu par transfer RS232 via Hyper
Terminal) que je met en page avec la macro suivante:
Sub MiseEnPage()
Do
If Selection.MoveRight(wdCharacter, 70) = 0 Then Exit Sub
Selection.Delete Unit:=wdCharacter, Count:=5
If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub
Selection.Delete Unit:=wdCharacter, Count:=5
If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub
Selection.TypeParagraph
Loop
End Sub
Bonjour. Grand merci à tous. Chacun m'a permi d'améliorer mes connaissances. Un merci particulier à Géo. Le "Sub MiseEnPage()" fonctionne à merveille. C'est exactement ce qu'il ne fallait. Meilleures salutations.
gallay jd
"Geo" a écrit dans le message de news:
Bonjour Jean-Daniel Gallay
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante:
Sub MiseEnPage() Do If Selection.MoveRight(wdCharacter, 70) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.Delete Unit:=wdCharacter, Count:=5 If Selection.MoveRight(wdCharacter, 5) = 0 Then Exit Sub Selection.TypeParagraph Loop End Sub
Si tu veux des commentaires, n'hesite pas.
--
A+
Jean-Daniel Gallay
Bonjoue AB Je m'explique: Le fichier obtenu par Hyper Terminal et au kilomètre et je veut le mettre en page de la façon suivante: Depuis le début, avancer de 70 caractères, effacer le 5 suivants, avancer de 5, effacer les 5 suivants, fin de ligne (touche ENTER). Répéter ceci jusqu'à la fin du fichier. Le sub proposé par Géo fait exactement celà. Meilleurs salutations gallay jd "AB" a écrit dans le message de news:
Bonjour, Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être pourrais-tu t'expliquer plus clairement ? Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant des boucles plutôt que de répéter la même instruction n fois. Mais les experts en VBA vont sûrement trouver mieux. AB
"Jean-Daniel Gallay" a écrit dans le message de news: 42b1a0e1$
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.TypeParagraph Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 etc. La macro est très longue et je dois l'exécuter plussieur fois pour arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .
Quelqu'un peut-il me donner le bon tuyau??
Merci d'avance gallay jd
Bonjoue AB
Je m'explique:
Le fichier obtenu par Hyper Terminal et au kilomètre et je veut le mettre en
page de la façon suivante:
Depuis le début, avancer de 70 caractères, effacer le 5 suivants, avancer de
5, effacer les 5 suivants, fin de ligne (touche ENTER).
Répéter ceci jusqu'à la fin du fichier.
Le sub proposé par Géo fait exactement celà.
Meilleurs salutations
gallay jd
"AB" <spamophobe1@marseille.com> a écrit dans le message de news:
O9mCBMpcFHA.2420@TK2MSFTNGP12.phx.gbl...
Bonjour,
Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être
pourrais-tu t'expliquer plus clairement ?
Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant
des boucles plutôt que de répéter la même instruction n fois.
Mais les experts en VBA vont sûrement trouver mieux.
AB
"Jean-Daniel Gallay" <gallay.jd@bluewin.ch> a écrit dans le message de
news: 42b1a0e1$1_1@news.bluewin.ch...
Bonjour.
J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal)
que je met en page avec la macro suivante:
Selection.MoveRight Unit:=wdCharacter, Count:p
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.TypeParagraph
Selection.MoveRight Unit:=wdCharacter, Count:p
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.MoveRight Unit:=wdCharacter, Count:=5
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
etc.
La macro est très longue et je dois l'exécuter plussieur fois pour
arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes
jusqu'à la fin du fichier, mais je n'y arrive pas .
Bonjoue AB Je m'explique: Le fichier obtenu par Hyper Terminal et au kilomètre et je veut le mettre en page de la façon suivante: Depuis le début, avancer de 70 caractères, effacer le 5 suivants, avancer de 5, effacer les 5 suivants, fin de ligne (touche ENTER). Répéter ceci jusqu'à la fin du fichier. Le sub proposé par Géo fait exactement celà. Meilleurs salutations gallay jd "AB" a écrit dans le message de news:
Bonjour, Je n'ai pas très bien compris ce que tu veux obtenir. Peut-être pourrais-tu t'expliquer plus clairement ? Concernant ta macro, tu peux sans doute déjà la simplifier en utilisant des boucles plutôt que de répéter la même instruction n fois. Mais les experts en VBA vont sûrement trouver mieux. AB
"Jean-Daniel Gallay" a écrit dans le message de news: 42b1a0e1$
Bonjour. J'ai une fichier très long (Obtenu par transfer RS232 via Hyper Terminal) que je met en page avec la macro suivante: Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.TypeParagraph Selection.MoveRight Unit:=wdCharacter, Count:p Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.MoveRight Unit:=wdCharacter, Count:=5 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.Delete Unit:=wdCharacter, Count:=1 etc. La macro est très longue et je dois l'exécuter plussieur fois pour arriver à la fin du fichier.
Il y a surement un moyen plus court pour répéter le bloc de 14 lignes jusqu'à la fin du fichier, mais je n'y arrive pas .