VBA - Problème boucle avec un Find

Résolu
sygmajf99 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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   Statut Membre Dernière intervention  
 
Ça marche, merci !!!
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
re

peux tu mettre le pb a résolu

merci
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
re

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

.Rows(li).Delete 


bonne suite
0