Dates et Macro
pillpa
-
pillpa -
pillpa -
Bonjour à tous,
Je rencontre un problème sur une macro, j'espère que vous allez pouvoir m'aider :)
J'ai un tableau avec entre autre des dates de commandes et des références de produits. Je veux créer des sous tableaux avec les résumés des infos (nombre, prix, etc) par références ET par date.
La ou ça coince c'est que je veux un onglet par années (2013, 2012, etc). Pour ça j'ai ma colonne date en format date, je fais un tris et je recherche par exemple "2012" > Enter. Le problème c'est qu'il "garde en memoire" les dates existantes pour CE fichier sur lequel je fais la macro, et non par la recherche sur 2012
Voici le bout du code :
ActiveSheet.Range("$A$1:$S$226").AutoFilter Field:=4, Criteria1:=Array( _
"02.10.2012", "03.10.2012", "06.11.2012", "19.07.2012", "23.01.2012", "23.11.2012", _
"27.02.2012"), Operator:=xlFilterValues
On voit bien qu'il sort les dates complètes et pas juste l'année 2012. Donc quand je lance la macro sur un autre fichier ça marche seulement si j'ai exactement ces dates.
Des idées ???
J'ai pensé à dissocier les colonnes en deux : |01.01 | 2012 | mais si je fais ça pour toutes les années j'ai peur de me perdre dans le code ...
Je vous remercie par avance :)
Pillpa
Je rencontre un problème sur une macro, j'espère que vous allez pouvoir m'aider :)
J'ai un tableau avec entre autre des dates de commandes et des références de produits. Je veux créer des sous tableaux avec les résumés des infos (nombre, prix, etc) par références ET par date.
La ou ça coince c'est que je veux un onglet par années (2013, 2012, etc). Pour ça j'ai ma colonne date en format date, je fais un tris et je recherche par exemple "2012" > Enter. Le problème c'est qu'il "garde en memoire" les dates existantes pour CE fichier sur lequel je fais la macro, et non par la recherche sur 2012
Voici le bout du code :
ActiveSheet.Range("$A$1:$S$226").AutoFilter Field:=4, Criteria1:=Array( _
"02.10.2012", "03.10.2012", "06.11.2012", "19.07.2012", "23.01.2012", "23.11.2012", _
"27.02.2012"), Operator:=xlFilterValues
On voit bien qu'il sort les dates complètes et pas juste l'année 2012. Donc quand je lance la macro sur un autre fichier ça marche seulement si j'ai exactement ces dates.
Des idées ???
J'ai pensé à dissocier les colonnes en deux : |01.01 | 2012 | mais si je fais ça pour toutes les années j'ai peur de me perdre dans le code ...
Je vous remercie par avance :)
Pillpa
1 réponse
-
Bonjour,
Des idées ??? Pourquoi avoir choisi ce format pour les dates, excel ne connait pas, mettez un format ex: 01/07/2012 connu d'excel et vous pourrez faire des filtres-
-
-
-
-
J'ai finalement dissocié la colonne dates en 2 et là la Macro avec un filtre par années fonctionne pour tous mes tableaux Excel.
Je suis cependant curieuse de savoir si une autre solution existe, qui permettrait de remplacer :
ActiveSheet.Range("$A$1:$S$226").AutoFilter Field:=4, Criteria1:=Array( _
"02.10.2012", "03.10.2012", "06.11.2012", "19.07.2012", "23.01.2012", "23.11.2012", _
"27.02.2012"), Operator:=xlFilterValues
par "selectionner toutes les lignes visibles"
Merci f894009 pour votre aide
Pillpa
-