Vba supprimer plusieurs lignes if then end if - VB/VBA/VBS - Programmation
Marsh Posté le 21-04-2010 à 16:46:51
Qu'est-ce qui ne fonctionne pas ? Y a-t-il un message d'erreur ? Si oui, lequel ?
Dans le code qui est montré, il faut écrire les instructions sur plusieurs lignes, mais c'est peut-être un défaut qui n'apparait que parce que le code a été mis ici, sans avoir utilisé les balises [fixed] et [/fixed ].
Marsh Posté le 21-04-2010 à 17:11:14
Je viens de résoudre mon problème, il s'agissait en fait que je n'écrivais pas les instructions sur plusieurs lignes comme tu l'as remarqué. Voici le code fonctionnant :
Sub Testaa()
Dim i%
For i = 25000 To 1 Step -1
If Cells(i, 4) = "System OK" And Cells(i, 7) = "phasing out" And Cells(i + 1, 4) = "Wind < start wind" And Cells(i + 1, 7) = "incoming" And Cells(i + 2, 4) = "Wind < start wind" And Cells(i + 2, 7) = "phasing out" And Cells(i + 3, 4) = "System OK" And Cells(i + 3, 7) = "incoming" Then
Rows(i + 3).Delete
Rows(i + 2).Delete
Rows(i + 1).Delete
Rows(i).Delete
End If
Next
End Sub
Merci de ton aide
Cordialement,
Marsh Posté le 21-04-2010 à 15:56:19
Bonjour à tous,
Je débute en VBA et j'aurai besoin d'un petit coup de main :
Je possède un tableau contenant environ 1000 lignes et 10 colonnes. Je souhaiterait que si 4 lignes à la suite possède un texte précis dans deux colonnes précises alors ces quatres lignes soient supprimées. Voici mon code actuel qui ne fonctionne pas.
Sub Testaa()
Dim i%
For i = 25000 To 1 Step -1
If Cells(i, 4) = "System OK" And Cells(i, 7) = "phasing out" And Cells(i + 1, 4) = "Wind < start wind" And Cells(i + 1, 7) = "incoming" And Cells(i + 2, 4) = "Wind < start wind" And Cells(i + 2, 7) = "phasing out" And Cells(i + 3, 4) = "System OK" And Cells(i + 3, 7) = "incoming" Then Rows(i).Delete Rows(i + 1).Delete Rows(i + 2).Delete Rows(i + 3).Delete End if
Next
End Sub
Merci d'avance de votre aide.
Cordialement,