Bonjour à tous,
J’ai tourné ce sujet dans tous les sens et je n’arrive pas à comprendre pourquoi le résultat de la macro n’est pas celui que j’attends.
Je retravaille un tableau Word.
Il liste l’ensemble des contrats d’un individu sur deux lignes à chaque fois. Pour certains, la date de clôture de ce contrat est renseignée dans la colonne correspondante et pour d’autres non.
Ce que je souhaite faire: passer en revue l’ensemble des contrats est supprimer les lignes de ceux qui sont clôturés.
Au final, après avoir passé pas mal de temps sur les forums, et avoir envisagé plusieurs solutions, j’ai trouvé la solution suivante.
Elle est peu satisfaisante puisque mon code tague chacune des lignes des dossiers clôturés par la mention «*A supprimer*»*et qu’ensuite il repasse sur ces lignes pour les supprimer,
Mais elle ferait l’affaire si l’ensemble des lignes à supprimer, l’était, mais ce n’est pas le cas... et je ne sais plus quoi faire...
Est-ce que vous auriez une idée de comment faire ?
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
36
37
38
39
40
41
42
43 Sub Macro5() ' ' Macro5 Macro ' Dim objTable As Table Dim R As Integer Set objTable = ActiveDocument.Tables(1) For R = 1 To objTable.Rows.Count ActiveDocument.Tables(1).Cell(R, 5).Select cherche10 = Selection.Find.Execute(FindText:="/") If cherche10 = True Then ActiveDocument.Tables(1).Cell(R + 1, 4).Select cherche11 = Selection.Find.Execute(FindText:="Prescription entreprise") cherche12 = Selection.Find.Execute(FindText:="Non suivi") cherche13 = Selection.Find.Execute(FindText:="Forclusion") If cherche11 = True Then ActiveDocument.Tables(1).Cell(R, 1).Select Selection.TypeText Text:="A supprimer" ActiveDocument.Tables(1).Cell(R + 1, 1).Select Selection.TypeText Text:="A supprimer" ElseIf cherche12 = True Then ActiveDocument.Tables(1).Cell(R, 1).Select Selection.TypeText Text:="A supprimer2" ActiveDocument.Tables(1).Cell(R + 1, 1).Select Selection.TypeText Text:="A supprimer2" ElseIf cherche13 = True Then ActiveDocument.Tables(1).Cell(R, 1).Select Selection.TypeText Text:="A supprimer3" ActiveDocument.Tables(1).Cell(R + 1, 1).Select Selection.TypeText Text:="A supprimer3" End If End If Next R Set objTable1 = ActiveDocument.Tables(1) For i = 1 To objTable1.Rows.Count ActiveDocument.Tables(1).Cell(i, 1).Select cherche14 = Selection.Find.Execute(FindText:="A supprimer") If cherche14 = True Then ActiveDocument.Tables(1).Rows(i).Range.Select Selection.Rows.Delete End If Next i End Sub
Je vous remercie,
Amos
Partager