Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1265 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Vba supprimer plusieurs lignes if then end if

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Vba supprimer plusieurs lignes if then end if

n°1986348
codeurdebu
Posté le 21-04-2010 à 15:56:19  profilanswer
 

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,

mood
Publicité
Posté le 21-04-2010 à 15:56:19  profilanswer
 

n°1986357
olivthill
Posté le 21-04-2010 à 16:46:51  profilanswer
 

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 ].


Message édité par olivthill le 21-04-2010 à 16:47:42
n°1986369
codeurdebu
Posté le 21-04-2010 à 17:11:14  profilanswer
 

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,


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Vba supprimer plusieurs lignes if then end if

 

Sujets relatifs
[VBA] Comment envoyer des mail automatiquement?Erreur code VBA sur Excel2007
Liste déroulante VBA[VBA] remplir une colonne excel avec une variable tableau
bouton"supprimer"Comparaison de chaines de caracteres dans 2 listes en VBA
Formule VBA Cells.findComptage des voyelles d'une suite de caracteres, plusieurs questions..
problème dans une boucle (masquer les lignes vides)[GMF] Editeur graphique pour une modélisation sur plusieurs niveaux
Plus de sujets relatifs à : Vba supprimer plusieurs lignes if then end if


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR