Comment améliorer une macro créé avec l'enregistreur?
Fermé
Utilisateur anonyme
-
Modifié le 28 juin 2019 à 17:36
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 30 juin 2019 à 17:55
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 30 juin 2019 à 17:55
A voir également:
- Comment améliorer une macro créé avec l'enregistreur?
- Comment créer un groupe whatsapp - Guide
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Cree un compte google - Guide
- Créer une liste déroulante excel - Guide
1 réponse
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
29 juin 2019 à 08:05
29 juin 2019 à 08:05
Bonjour,
Filtre pour copie ligne(s) filtree(s) et cadrillage
Peut-être plus besoin de la procedure suppression lignes vides
Faites un test avec code et si ok, intégrez le ou a defaut je le ferai. Pour le reste ai pas regarde en detail, mais je peux
Filtre pour copie ligne(s) filtree(s) et cadrillage
Peut-être plus besoin de la procedure suppression lignes vides
Faites un test avec code et si ok, intégrez le ou a defaut je le ferai. Pour le reste ai pas regarde en detail, mais je peux
'Sub Fitre_Recup_Info(ns) Sub Fitre_Recup_Info() ns = 26 ' a passer en parametre With Worksheets("Feuil1") 'adaptez nom de feuille .Range("A2:M2").AutoFilter 'filtre en place With .Range("$A$2:$M$49") 'plage de cellules utilisees .AutoFilter Field:=13, Criteria1:=ns 'filtre Num semaine '--------- ajouter code si pas de lignes filtrees ----------------- If .Cells(3, 13) <> "" Then 'cellule colonne filtre Worksheets("Feuil1").Range("A1:M1").Copy Worksheets("feuil5").Range("A1") Set Plage_ST = .Cells(1, 1).Resize(.Rows.Count - 1, .Columns.Count).SpecialCells(xlCellTypeVisible) 'plage de cellules sans les entetes Plage_ST.EntireRow.Copy Worksheets("feuil5").Range("A2") Else MsgBox ("Mot introuvable !") End If '------------------------------------------------------------------ End With .Range("A2:M2").AutoFilter 'enleve filtre End With End Sub
Modifié le 29 juin 2019 à 18:00
Merci beaucoup.
Je n'avais pas passé au filtre... :)
mais il me faut le code de 'dernière ligne' car c'est une feuille de 3 km de lignes, apparemment ...oui sérieux si ce n'est pas plus...
donc 49 remplacé par dernière ligne
ça réduit pas mal déjà, super...
J'avais fait une "copie" mais on peut ajouter une nouvelle feuille à chaque fois, renommée puis supprimée mais là je bloque un peu car plantage avec l'enregistreur.
par contre cette ligne
fait un doublon
merci encore, je vais modifier tout ça....
@+
30 juin 2019 à 06:40
mais il me faut le code de 'dernière ligne'
Pourquoi cette ligne fait doublon. Vous récupérez les lignes filtrées comment?????????
je bloque un peu car plantage avec l'enregistreur.
Pige pas ........
Pour moi, une feuille modele serait plus adaptée remplie et initialisée a chaque demande. Comme ca plus de mise en page
30 juin 2019 à 17:11
J'ai fait doublon car j'ai copié la feuil1 et renommé 'copie'
j'aimerais à la place de la 'feuil5' modèle, insérer une nouvelle feuille et copier le résultat
Travailler dans une nouvelle feuille et la supprimer à l'impression à chaque lancement de la macro
merci
@+
30 juin 2019 à 17:55
Dans votre classeur regardez le code que vous aviez au depart pour créer la feuille que vous renommiez en copie. Le code que j'ai mis est adapte