Bonjour
je viens vers vous car vous etes des faiseurs de miracles et je bloque sur un souci
voila ai une base de donnees 20,000 lignes et de 40 colonnes
mon obectif est de faire supprimer les lignes inutiles et cela base sur des valeurs connus localisees en colonne K
on m'a ait aide pour un pb inverse ou je voulais supprimer les lignes SI lune des valeurs de liste sont reperes
Application.ScreenUpdating = False ' Inhibition des events et freeze screen.
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Fin = Range("a" & Rows.Count).End(xlUp).Row
Tablo = Range("F1:G" & Fin) ' Transfert données F et G dans tableau ( colonnes 6 et 7 )
Liste = Array("*PendingRMA*", "*CDG90.1-1.220517868*")
For N = 1 To UBound(Tablo) ' Pour toutes les lignes
If Tablo(N, 2) = "false" Then ' Si 2eme élément=false cad colonne 7
Tablo(N, 1) = Chr(1) ' On met CAR(1) dans tableau
Else
Valeur = Tablo(N, 1): Tablo(N, 1) = ""
For i = 1 To UBound(Liste) ' Sinon si la cellule contient un des mot de la liste
If Valeur Like Liste(i) Then
Tablo(N, 1) = Chr(1) ' On met CAR(1) dans tableau de sortie
Exit For ' Et on sort, inutile de continuer
End If
Next i
End If
Next N
Columns("A:A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove ' Insertion colonne en A
[A1].Resize(UBound(Tablo, 1), 1) = Tablo ' On met la 1ere colonne de Tablo en colonne A
With Range("A1:A" & Fin)
.EntireRow.Sort .Cells, xlAscending ' Tri pour regrouper et accélérer
.SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete ' Suppression des lignes qui contiennent CAR(1) en A
.Delete Shift:=xlToLeft ' Effacement colonne formules
End With
Columns.AutoFit 'Ajustement largeurs colonnes
With ActiveSheet.UsedRange: End With 'Ajustement barres de défilement
==========================
dans ce nouveau projet cest tout linverse
Je souhaite garder que les LIGNES si en colonne K , lune des valeurs que ai mis dans le vba ' liste' est inclus
je maitrise pas du tout la partie des ubound, array, tableau a double dimension.
je vous remercie infiniment pour votre aide
Pierre
je viens vers vous car vous etes des faiseurs de miracles et je bloque sur un souci
voila ai une base de donnees 20,000 lignes et de 40 colonnes
mon obectif est de faire supprimer les lignes inutiles et cela base sur des valeurs connus localisees en colonne K
on m'a ait aide pour un pb inverse ou je voulais supprimer les lignes SI lune des valeurs de liste sont reperes
Application.ScreenUpdating = False ' Inhibition des events et freeze screen.
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Fin = Range("a" & Rows.Count).End(xlUp).Row
Tablo = Range("F1:G" & Fin) ' Transfert données F et G dans tableau ( colonnes 6 et 7 )
Liste = Array("*PendingRMA*", "*CDG90.1-1.220517868*")
For N = 1 To UBound(Tablo) ' Pour toutes les lignes
If Tablo(N, 2) = "false" Then ' Si 2eme élément=false cad colonne 7
Tablo(N, 1) = Chr(1) ' On met CAR(1) dans tableau
Else
Valeur = Tablo(N, 1): Tablo(N, 1) = ""
For i = 1 To UBound(Liste) ' Sinon si la cellule contient un des mot de la liste
If Valeur Like Liste(i) Then
Tablo(N, 1) = Chr(1) ' On met CAR(1) dans tableau de sortie
Exit For ' Et on sort, inutile de continuer
End If
Next i
End If
Next N
Columns("A:A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove ' Insertion colonne en A
[A1].Resize(UBound(Tablo, 1), 1) = Tablo ' On met la 1ere colonne de Tablo en colonne A
With Range("A1:A" & Fin)
.EntireRow.Sort .Cells, xlAscending ' Tri pour regrouper et accélérer
.SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete ' Suppression des lignes qui contiennent CAR(1) en A
.Delete Shift:=xlToLeft ' Effacement colonne formules
End With
Columns.AutoFit 'Ajustement largeurs colonnes
With ActiveSheet.UsedRange: End With 'Ajustement barres de défilement
==========================
dans ce nouveau projet cest tout linverse
Je souhaite garder que les LIGNES si en colonne K , lune des valeurs que ai mis dans le vba ' liste' est inclus
je maitrise pas du tout la partie des ubound, array, tableau a double dimension.
je vous remercie infiniment pour votre aide
Pierre