Bonsoir à tous et à toute,
Je suis actuellement nouveau en vba et j'ai quelques soucis. Je viens donc vers vous afin de solliciter votre aide.
Mon problème est le suivant :
Je veux parcourir la 3eme colonne de mon tableau et rechercher dans chacune des cellules de la 3eme colonne le mot "Date".
Si ce mot est trouvé alors je veux effacer la cellule sinon je garde le texte et je passe à la suivante.
Mon soucis ici est que OCell.RowIndex garde tous le temps la valeur de la première celui lorsque moi je souhaiterais avoir la valeur de la ligne sélectionné.
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 Sub DeleteCell() Dim oCell As cell Dim oRow As Row Dim MyRange As Range StartWord = "Date" '*** Compte le nombre de ligne de mon tableau **** i = ActiveDocument.Tables(1).Rows.count Set MyRange = ActiveDocument.Range(ActiveDocument.Tables(1).cell(2, 3).Range.Start, ActiveDocument.Tables(1).cell(i, 3).Range.End) With MyRange.Find While .Execute(FindText:=StartWord & "*", MatchWildcards:=True) '*** Recherche du mot avec n'importe quoi derrière MyRange.Select If Selection.Information(wdWithInTable) = True Then '*** Je vérifie que je suis encore dans le tableau If .Found = True Then For Each oCell In MyRange.Columns(3).Cells '*** Pour chaque celui du tableau de la 3 âme colonne oCell.Select With Selection.Tables(1).Rows(oCell.RowIndex) '*** Problème RowIndex garde la meme valeur tous le temps .Cells(3).Range.Delete End With Next oCell End If End If Wend End With End Sub
Je pense que je ne suis pas loin. Je veux que ce traitement ce fasse sans que j'ai besoin de sélectionner mon tableau.
Je vous remercie de votre aide
Partager