J'essaie d'exécuter une macro qui supprimera les lignes qui ne contiennent pas une valeur particulière dans la colonne B. Voici mon code :
Sub deleteRows()
Dim count As Integer
count = Application.WorksheetFunction.CountA(Range("AF:AF"))
Dim i As Integer
i = 21
Do While i <= count
If (Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Search("OSR Platform", Range("B" & i))) = False) Then
If (Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Search("IAM", Range("B" & i))) = False) Then
Rows(i).EntireRow.Delete
i = i - 1
count = count - 1
End If
End If
i = i + 1
Loop
End Sub
Ce qu'il DEVRAIT faire, c'est ce qui suit :
1.) Trouvez le nombre de lignes à parcourir et définissez-le en tant que nombre (cela fonctionne).
2.) Commencez à la ligne 21 et cherchez "OSR Platform" et "IAM" dans la colonne B [cela fonctionne en quelque sorte (voir ci-dessous)].
3.) S'il ne trouve ni l'un ni l'autre, supprimez la ligne entière et ajustez le compte et le numéro de ligne si nécessaire (cette méthode fonctionne).
Pour une raison quelconque, chaque fois que le code arrive à la première instruction If, une fenêtre d'erreur avec un X rouge apparaît et dit simplement "400". Pour autant que je puisse en juger, j'ai tout écrit de manière syntaxique, mais il y a clairement quelque chose qui ne va pas.