Bonjour à tous,
J'ai un tableau (3.000 lignes) dont le contenu varie à chaque fois que le l'ouvre.
Je dois corriger les erreurs sur la colonne L (numéro 12), en m'aidant des colonnes G (numéro 7) et K (numéro 11).
S'il y a le mot "Hors" ou "Baleine" dans la colonne G ET le mot "toto", "tata" ou "tonton" dans la colonne k, alors je dois écrire "OK" dans la colonne "L".
Les mots "Hors", "Baleine", "toto", "tata", "tonton" peuvent être suivis ou précédés de caractères aléatoires.
Je cherche donc à faire fonctionner cette boucle :
.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 Sub Corrections() With Application .Cursor = xlWait .ScreenUpdating = False .DisplayStatusBar = False .Calculation = xlCalculationManual .EnableEvents = False End With Sheets("feuil1").Select Dim Ws As Worksheet Dim NomTable As String NomTable = "Table1" Set Ws = Worksheets("feuil1") With Ws .ListObjects.Add(xlSrcRange, .Range("$A$1").CurrentRegion, , xlYes).Name = NomTable .ListObjects(NomTable).TableStyle = "TableStyleLight9" End With nblignes = Range("Table1").Rows.Count + 1 'Détermine LCher comme le nombre de la ligne en cours de traitement For LCher = 2 To nblignes a = CStr(Cells(LCher, 7)) c = CStr(Cells(LCher, 11)) d = CStr(Cells(LCher, 12)) If a Like "*Hors*" And c Like "toto*" Then d = "OK" End If If a Like "*Hors*" And c Like "*TOTO*" Then d = "OK" End If If a Like "*Hors*" And c Like "tata*" Then d = "OK" End If If a Like "*Hors*" And c Like "*TATA*" Then d = "OK" End If If a Like "*Hors*" And c Like "tonton*" Then d = "OK" End If If a Like "*Hors*" And c Like "*TONTON*" Then d = "OK" End If If a Like "*baleine*" and c Like "*toto*" Then d = "OK" If a Like "*baleine*" and c Like "*TOTO*" Then d = "OK" If a Like "*baleine*" and c Like "*tata*" Then d = "OK" If a Like "*baleine*" and c Like "*TATA*" Then d = "OK" If a Like "*baleine*" and c Like "*tonton*" Then d = "OK" If a Like "*baleine*" and c Like "*TONTON*" Then d = "OK" Next LCher Worksheets("Titu+Contr").ListObjects(NomTable).Unlist With Application .EnableEvents = True .Calculation = xlCalculationAutomatic .DisplayStatusBar = True .CutCopyMode = False .ScreenUpdating = True .Cursor = xlDefault End With End Sub
Je n'ai pas de code d'erreur d'exécution de la macro mais celle ci ne corrige pas les erreurs que je souhaite corriger.
Merci d'avance![]()
Partager