VBA - Problème boucle avec un Find

Résolu/Fermé
sygmajf99 Messages postés 14 Date d'inscription lundi 10 janvier 2011 Statut Membre Dernière intervention 6 juillet 2012 - 17 juin 2011 à 17:37
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 17 juin 2011 à 18:08
Bonjour,

J'ai 2 colonnes de données, et je désire faire un nettoyage des lignes vides laissées par l'utilisateur. Je veux éviter de faire un filtre.

Voici ce que j'ai débuté comme code. L'obstacle que je rencontre est lorsque je suis rendu à faire une recherche des x dans la colonne, je voudrais faire une boucle pour dire : continue de supprimer les lignes appropriées tant et aussi longtemps que tu trouves des "x".

Comment faire ? Voici mon code. Merci.


Sub EnleverBlanc()

On Error Resume Next

Dim PremLigne As Integer
Dim DernLigne As Integer
Dim LigneDelete As Integer

DernLigne = Range("A65536").End(xlUp).Row

For PremLigne = 5 To DernLigne

If Cells(PremLigne, 1).Value = "" And Cells(PremLigne, 2).Value = "" Then
Cells(PremLigne, 3).Value = "x"
Else
'sortir
End If

Next PremLigne


Columns("C:C").Select
Selection.Find(What:="x", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate

LigneDelete = ActiveCell.Row
Rows(LigneDelete).Select
Selection.Delete Shift:=xlUp

End Sub

4 réponses

ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 430
Modifié par ccm81 le 17/06/2011 à 17:56
bonjour
à adapter en modifiant les constantes

Public Sub supprime_lignes_vides() 
Const lideb = 2 
Const NF = "Feuil1" 
Dim li As Long, lifin As Long 
With Sheets(NF) 
  lifin = .Range("A65536").End(xlUp).Row 
  For li = lifin To lideb Step -1 
    If .Cells(li, 1).Value = "" And Cells(li, 2).Value = "" Then 
      Rows(li).Delete 
    End If 
  Next li 
End With 
End Sub

bonne suite
1
sygmajf99 Messages postés 14 Date d'inscription lundi 10 janvier 2011 Statut Membre Dernière intervention 6 juillet 2012
17 juin 2011 à 18:03
Ça marche, merci !!!
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 430
17 juin 2011 à 18:05
re

peux tu mettre le pb a résolu

merci
0
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 2 430
17 juin 2011 à 18:08
re

pour faire propre, il manque un point '.' devant Rows(li).Delete

.Rows(li).Delete 


bonne suite
0

Discussions similaires