VBA - Problème boucle avec un Find
Résolu
sygmajf99
Messages postés
18
Statut
Membre
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
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
- Find grep ✓ - Forum Linux / Unix
- Vba range avec variable ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Ava find - Télécharger - Divers Utilitaires
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