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 -
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
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:
- VBA - Problème boucle avec un Find
- Find and mount - Télécharger - Récupération de données
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vba range avec variable ✓ - Forum VB / VBA
- Ava find - Télécharger - Divers Utilitaires
- Excel compter cellule couleur sans vba - Guide
4 réponses
bonjour
à adapter en modifiant les constantes
bonne suite
à 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