![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Messages: n/a
|
Bonsoir,
J'essaye d'automatiser l'utilisation du filtre élaboré avec VBA mais j'ai un problème. J'essaye d'utiiser un critère calculé pour trier des dates du type jj/mm/aa par leur mois, mais je n'y arrive pas.http://www.excel-downloads.com/compo...icons/sick.png :x Voilà mon petit code de rien : Sub Macro1() Worksheets('Critéres').Select [A5] = '=MOIS(Dépenses!A2) = 10' Worksheets('Résultats').Select Sheets('Dépenses').Columns('A:J').AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets('Critéres').Range('A4:B5'), CopyToRange:=Range('A:J'), Unique:=False D'avance merci de votre aide, et bonnes fêtes de fin d'année. End Sub ![]() |
|
| ANNONCES | |||
|
|
|
|
#4 (permalink) |
|
Messages: n/a
|
Bonjour bernard
Merci pour ta réponse et ton fichier exemple, mais je souhaite réaliser la fonction trie dans une macro pour pouvoir ensuite réaliser un projet plus important de trie et de calcul de donnée. Joyeux noël Loumilie |
|
|
|
#5 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 5 451
|
Bonjour
Peut être cela pourra t'aider En nommant une cellule 'critere' contenanant un chiffre de 1 à 12 Sub TRI() With ActiveSheet.Range('A1').CurrentRegion .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range('critere'), Unique:=False Worksheets.Add after:=Sheets(Sheets.Count) .Copy ActiveSheet.Range('A1') End With End Sub Message édité par: staple1600, à: 24/12/2005 11:56
__________________
Cordialement, __________________ JM ![]() |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 5 451
|
Autrement plus complet
Cette macro de F. SIGONNEAU 'http://frederic.sigonneau.free.fr/code/Calendriers/RechercheDeDates.txt Sub TrouveDatesDUnMoisDonné() Dim Mois, CellsTrouvées As Range Dim i&, PlageDates As Range Mois = InputBox('Mois des dates à chercher (1 à 12) :') If Mois = '' Or Mois 12 Then Exit Sub Set PlageDates = Range('A1:A' & Cells(Rows.Count, 'A').End(xlUp).Row) i = PlageDates.Row Do If Month(PlageDates.Cells(i, 1).Value2) = Mois Then If CellsTrouvées Is Nothing Then Set CellsTrouvées = PlageDates.Cells(i, 1) Else: Set CellsTrouvées = Union(CellsTrouvées, PlageDates.Cells(i, 1)) End If End If i = i + 1 Loop While i < PlageDates.Row + PlageDates.Rows.Count If CellsTrouvees Is Nothing Then MsgBox 'Aucune date en ' & Format(Mois & '/00', 'mmmm') Else CellsTrouvées.EntireRow.Select End If End Sub
__________________
Cordialement, __________________ JM ![]() |
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 5 451
|
Rebonjour
Voilà un exemple en espérant t'avoir aidé. Joyeuses fêtes à tous [file name=filtre_20051224140624.zip size=13164]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/filtre_20051224140624.zip[/file]
__________________
Cordialement, __________________ JM ![]() |
|
|
|
![]() |
| Outils de la discussion | |
|
|