Esprit44
Messages postés27Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention12 mai 2005
-
28 juil. 2004 à 10:51
Esprit44
Messages postés27Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention12 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
cognicase
Messages postés63Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention13 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....