Help plz

Esprit44 Messages postés 27 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 mai 2005 - 28 juil. 2004 à 10:51
Esprit44 Messages postés 27 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 mai 2005 - 28 juil. 2004 à 14:11
Bonjour tout le monde
j ai deja fait un post precedement mais aucune reponse

La j ai fais un bout de code ( pas de critique plz je debute) dont certains bouts viennent de sources ici. par contre j ai un souci

je voudrais qu'a partir de l userform, l utilisateur coche le nombre de paragraphes qu l interresse et qu ils s incrementent les uns a la suite des autres.

J ai un pb et j arrive pas a corriger mon erreur! le probleme est que quelque soit la checkbox coché ce sera de début1 a fin 1 que le text sera copié et si je coche plusieurs box seul cette meme partie reste copiée et collée

voila le code

Private Sub CommandButton1_Click()

Dim AppWord As Word.Application
Dim DocWord As Word.Document
Set AppWord = CreateObject("Word.Application")

If CheckBox2.Enabled Then Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
.Text = "début1"
.MatchWildcards = 0
.Forward = 1
.Replacement.Text = ""
.Replacement.ClearFormatting
.Execute ' recherche du mot1
Selection.MoveRight 'déplacement a droite du mot
.Text = "fin1"
Selection.Extend ' etendre la selection
.Execute ' atteindre le mot2
Selection.MoveLeft Unit:=wdCharacter, Count:=Len("mot2"), Extend:=1
' reculer du mot 2
End With
Selection.Copy
For Each doc In Documents If doc.Name "nom.doc" Then Found True
Next doc
If Found <> True Then
Documents.Open FileName:="c:\nom.doc"
Else
Documents("nom.doc").Activate
End If
Selection.Paste


If CheckBox3.Enabled Then Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
.Text = "début2"
.MatchWildcards = 0
.Forward = 1
.Replacement.Text = ""
.Replacement.ClearFormatting
.Execute ' recherche du mot1
Selection.MoveRight 'déplacement a droite du mot
.Text = "fin2"
Selection.Extend ' etendre la selection
.Execute ' atteindre le mot2
Selection.MoveLeft Unit:=wdCharacter, Count:=Len("mot2"), Extend:=1
' reculer du mot 2
End With
Selection.Copy
For Each doc In Documents If doc.Name "nom.doc" Then Found True
Next doc
If Found <> True Then
Documents.Open FileName:="c:\nom.doc"
Else
Documents("nom.doc").Activate
End If
Selection.Paste

- et ainsi de suite pour checkbox4,5,6,7,8....

End Sub

Merci d'avance
Chris

3 réponses

ShadowWisp Messages postés 113 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 25 août 2004 1
28 juil. 2004 à 11:03
Il faut que tu testes sur checkbox.value=true ou checkbox.value=false

Enfin je crois :)

A.
0
cognicase Messages postés 63 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 13 juillet 2005
28 juil. 2004 à 13:49
Chaque CheckBox est en VB6 indexable c'est a dire que tu peux nommer chaque CheckBox pareil dans le style de chkChoix
Mais tu met dans la propriété Index le chiffre 0 pis tu copie le checkbox chkChoix(0) vers un nouvelle object en fesant Control C puis Control V .. alors tu auras un Array de CheckBox puis après tu poura faire dans ton code ..

Dim Foo As Interger
For Foo = 0 To chkChoix.Ubonds 'Ou to Nombre de chkChoix...
   If chkChoix(Foo).Value = vbChecked Then
     'Call ta sub du genre ou met tout ton code ici ....
     Call CommandButton1_Click()
   End If
Next


Compliquer a expliquer mais bon j'aurai tenté de te te venir en aide....

A +
0
Esprit44 Messages postés 27 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 mai 2005
28 juil. 2004 à 14:11
en effet bien compliqué :( ca marche toujours pas et je crois que je suis un peu trop noob pour comprendre ton aide cognicase

Merci en tout cas pour votre aide et n hesitez pas repondre encore au message svp. Je suis toujours bloké.

Merci
0
Rejoignez-nous