Code déclaré Public

  • Initiateur de la discussion Initiateur de la discussion lmc71
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lmc71

XLDnaute Occasionnel
Bonjour le Forum,
J'ai crée une macro avec l'enregistreur de macro me permettant d'extraire des doublons. Elle fonctionne très bien, et je voudrais pouvoir utiliser ce code dans les autres onglets. Elle a été enregistrée sur la feuille JANVIER et je voudrais pouvoir changer les lignes portant le nom de la feuille("Janvier") ActiveWorkbook.Worksheets("Janvier").Sort.SortFields.Clear de façon à rendre ce code utilisable sur tous les autres onglets de ce classeur.
Je voudrais éviter de créer une macro spécifique à chaque onglet. Chose faisable mais très lourd je suppose.
Je ne sais pas faire. Merci de votre aide
Ci-dessous est présent le code enregistré. Merci de pouvoir le modifier.
Amicalement

BONNES FÊTES


Sub Doublon_Trie()
'
' Macro2 Macro
'
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="123", UserInterfaceOnly:=True 'Enlève et remet le mot de passe

'Copie Motif
Range("E5:E152").Select
Selection.Copy
ActiveWindow.LargeScroll ToRight:=1
Range("AA155").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveSheet.Range("$AA$155:$AA$302").RemoveDuplicates Columns:=1, Header:= _
xlNo
ActiveWorkbook.Worksheets("Janvier").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Janvier").Sort.SortFields.Add Key:=Range("AA155") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Janvier").Sort
.SetRange Range("AA155:AA302")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


'Copie bénéficiaire

Range("F5:F152").Select
Selection.Copy
ActiveWindow.LargeScroll ToRight:=1
Range("AE155").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveSheet.Range("$AE$155:$AE$302").RemoveDuplicates Columns:=1, Header:= _
xlNo
ActiveWorkbook.Worksheets("Janvier").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Janvier").Sort.SortFields.Add Key:=Range("AE155") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Janvier").Sort
.SetRange Range("AE155:AE302")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Call Dernier_Ligne


End Sub
 
Re : Code déclaré Public

Quoi l'autre problème ? Ce n'est pas encore réglé avec la proposition #11 de Staple1600 ?

D'une facon générale évitez d'utiliser plusieurs fois une expression Workbook, Worksheet ou Range obligeant Excel à aller rechercher l'objet dans ses collections. Affectez la plutôt une seule fois à une variable As Workbook, Worksheet ou Range et utilisez la à la place de l'expression. Le mieux c'est toujours de demander le moins de choses possible à Excel de toutes façon, et de grouper les demandes (pour ce qui est des Range surtout: si possible un seul au début un autre à la fin pour charger et décharger carrément toute la UsedRange dans un tableau: C'est rentable en terme de temps même si on n'a besoin d'en consulter et modifier qu'1/1000 et plus de 10).
 
Dernière édition:
Re : Code déclaré Public

Re En ce qui concerne les doublons et les activeFeuille tout est OK que ce soit de par vous et de Staple 1600.
La deuxième question était l'histoire de la formule ou autre pour la colonne A de façon a avoir 5 lignes de libre après l'utilisation du code
Dim Lg%, i%
Application.ScreenUpdating = False
Lg = Range("a" & Rows.Count).End(xlUp).Row
Range("a3:a" & Lg).Rows.Hidden = False
For i = 4 To Lg
If Cells(i, "a") = "" Then
Cells(i, "a").Rows.Hidden = True
End If
Next i


personne n'a répondu à cette question.
Je tiens, quand même, à vous remercier les deux pour tout ce que vous avez fait.
Cordialement

PS : Comment ce fait-il que ta réponse n'apparaît pas dans la discussion initiale ? Juste pour comprendre.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
301
Réponses
17
Affichages
1 K
Réponses
4
Affichages
222
Réponses
11
Affichages
788
Réponses
6
Affichages
1 K
Retour