Rendre ma macro plus rapide EXCEL VBA
Fermé
PYGOS69
Messages postés
452
Date d'inscription
jeudi 23 août 2012
Statut
Membre
Dernière intervention
10 octobre 2023
-
Modifié le 25 juin 2019 à 13:25
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - 27 juin 2019 à 10:15
PYGOS69 Messages postés 452 Date d'inscription jeudi 23 août 2012 Statut Membre Dernière intervention 10 octobre 2023 - 27 juin 2019 à 10:15
A voir également:
- Rendre ma macro plus rapide EXCEL VBA
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Acces rapide - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
1 réponse
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
Modifié le 25 juin 2019 à 13:05
Modifié le 25 juin 2019 à 13:05
Bonjour,
Ajoute un filtre auto puis met-toi en enregistrement de macro pour avoir l'essentiel des lignes de code.
Trie par agence (pour qu'elles soient regroupées), sélectionne <> tours, supprime les lignes visibles, ré-affiche tout.
Plus qu'à retoucher le code qu'il soit propre et généraliste.
Ce sera beaucoup plus rapide, la suppression totale se faisant en une fois
eric
Ajoute un filtre auto puis met-toi en enregistrement de macro pour avoir l'essentiel des lignes de code.
Trie par agence (pour qu'elles soient regroupées), sélectionne <> tours, supprime les lignes visibles, ré-affiche tout.
Plus qu'à retoucher le code qu'il soit propre et généraliste.
Ce sera beaucoup plus rapide, la suppression totale se faisant en une fois
eric
Modifié le 25 juin 2019 à 13:26
Merci pour cette méthode qui me donne un résultat très rapide....
ActiveWorkbook.Worksheets("TEST").ListObjects("Tableau13").Sort.SortFields.Add _
Key:=Range("Tableau13[#All,[Agence]]"), SortOn:=xlSortOnValues, Order:= _
xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("TEST").ListObjects("Tableau13").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.ListObjects("Tableau13").Range.AutoFilter Field:=1, Criteria1:= _
"<>Agence Tours", Operator:=xlAnd
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
ActiveSheet.ListObjects("Tableau13").Range.AutoFilter Field:=1
Range("A24").Select
Comment faire comprendre à Excel, que le critère du filtre ("Agence Tours") se trouve en Feuil1 Cellule E1 ?
Car ce critère est un choix de l'utilisateur issu d'un combobox...
Encore Merci !
25 juin 2019 à 16:28
Car ce critère est un choix de l'utilisateur issu d'un combobox...
Modifié le 25 juin 2019 à 19:58
quand tu colles un code utilise l'icone '<>' qu'il reste plus lisible.
Une ligne à modifier :
Et il y aurait d'autres choses à améliorer.
Tu devrais déposer un fichier de travail avec qq lignes de données (bidons), avec la structure exacte de ton classeur.
eric
Modifié le 25 juin 2019 à 23:39
26 juin 2019 à 09:54
Je prépare un fichier dans la journée, pour l'évolution de la macro ....