VBA: Effacer cellules ne correspondant pas à
Résolu/Fermé
A voir également:
- VBA: Effacer cellules ne correspondant pas à
- Incompatibilité de type vba ✓ - Forum Programmation
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba dernière colonne non vide ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
3 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
19 avril 2010 à 12:28
19 avril 2010 à 12:28
en supprimant les lignes fautives d'un seul coup
Const lig_dep As Byte = 2 'ta ligne de départ Const col_dep As Byte = 4 'ta colonne de recherche (ici D) Sub supprimer_intrus() Dim numero As String * 9 Dim derlig As Integer, cptr As Integer Dim ligs_del As String numero = CStr(123456789) ' 123456789 a remplacer par ton textbox derlig = Cells(10000, col_dep).End(xlUp).Row For cptr = lig_dep To derlig If Left(Cells(cptr, col_dep), 9) <> numero Then ligs_del = ligs_del & cptr & ":" & cptr & "," End If Next If ligs_del <> "" Then Application.ScreenUpdating = False ligs_del = Left(ligs_del, Len(ligs_del) - 1) Range(ligs_del).Delete End If End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
19 avril 2010 à 11:06
19 avril 2010 à 11:06
Bonjour
as tu toujours 6 chiffres et un espace entre le code et le nom ( je suppose aussi que les codes varient ?)
Combien de lignes à traiter ?
as tu toujours 6 chiffres et un espace entre le code et le nom ( je suppose aussi que les codes varient ?)
Combien de lignes à traiter ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
19 avril 2010 à 11:13
19 avril 2010 à 11:13
Excuse- moi, un autre truc dont j'ai besoin : combien de colonnes maxi ?
dct33
Messages postés
41
Date d'inscription
jeudi 8 avril 2010
Statut
Membre
Dernière intervention
20 avril 2010
39
Modifié par dct33 le 19/04/2010 à 14:13
Modifié par dct33 le 19/04/2010 à 14:13
Bonjour,
Faire une boucle sur la colonne D du début des données à la fin des données
' 1- en colonne D il peut y avoir des cellules vides
' les cellules vides seront supprimées
Sub Macro5()
Dim Debut_Donnees As Integer
Dim Fin_Donnees As Integer
Debut_Donnees = 3 ' mettre la bonne valeur
Fin_Donnees = Range(Cells(65536, 4), Cells(65536, 4)).End(xlUp).Row
For X = Debut_Donnees To Fin_Donnees
If Left(Cells(X, 4), Len(TextBoX.text)) <> TextBoX.text) Then
Cells(X, 4).EntireRow.Delete
X = X - 1
Fin_Donnees = Fin_Donnees - 1
End If
Next X
End Sub
Bonne programmation
Faire une boucle sur la colonne D du début des données à la fin des données
' 1- en colonne D il peut y avoir des cellules vides
' les cellules vides seront supprimées
Sub Macro5()
Dim Debut_Donnees As Integer
Dim Fin_Donnees As Integer
Debut_Donnees = 3 ' mettre la bonne valeur
Fin_Donnees = Range(Cells(65536, 4), Cells(65536, 4)).End(xlUp).Row
For X = Debut_Donnees To Fin_Donnees
If Left(Cells(X, 4), Len(TextBoX.text)) <> TextBoX.text) Then
Cells(X, 4).EntireRow.Delete
X = X - 1
Fin_Donnees = Fin_Donnees - 1
End If
Next X
End Sub
Bonne programmation
19 avril 2010 à 13:28