XL 2013 Macro tri Ligne Variable Colonne Fixe

Fako

XLDnaute Nouveau
Bonjour,

Première fois sur le forum.
Super que cela existe!! Déjà trouvé plein de solution à mes problèmes!! Merci pour vos post!
Mais cette fois, problème non résolu pour moi qui suis débutant et cela fait pourtant plusieurs heures que j'essaye de trouver ma réponse sur un thème, je sais, pourtant déjà abordé ici.
Désolé: Pas encore concluant pour moi novice.

Voici mon problème.

DONNEES
- Base données de mes patients en fonction du mois (chaque onglet) du lieu de la date et du nom
- Fichier excel avec chaque onglet/page qui représente un mois de l'année
- Plusieurs cabinets dans lesquels je consulte

J'aimerais à la fin de chaque mois pouvoir trier le tableau du mois de mes patients en fonction du lieux, de la date ou autre à laquelle la consult a eut lieue.

Questions:

1. Macro de tri (par exemple en fonction de la date) sur un tableau dans lequel je dois insérer des nouveaux patients.
Mes colonnes restent fixes mais mes lignes augmentent à chaque nouveau patient

PROBLEME: Mon tri ne se fait que sur les cellules sélectionnées!!
J'aimerais que la Macro prenne en compte les nouvelles lignes ajoutées?

SOLUTION? que dois-je modifier. Ci-joint le fichier mais si il est possible de me l'expliquer, ou du moins ce que je dois rajouter c'est cool parce que je devrai le faire pour les dates, les lieux et les noms des patients

Macro

Sub Dec_Dates()
'
' Dec_Dates Macro
'

'
Range("B15:M17").Select
ActiveWorkbook.Worksheets("DEC").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("DEC").Sort.SortFields.Add Key:=Range("C15:C17"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("DEC").Sort
.SetRange Range("B15:M17")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("B15").Select
End Sub


2. Pour chaque mois, je fais un onglet/une feuille dans mon classeur.
Je copie-colle le mois de janvier dans un autre onglet je change le nom de l'en-tête par février et ainsi de suite.
J'ai donc un fichier, avec 12 feuilles correspondant au 12 mois

Dois-je faire 12 macro différentes pour les 12 feuilles ou je peux trouver mieux? ;-)
Faire une seule macro qui sera indépendante pour chaque feuille?
Pour l'instant, quand je click sur la macro de janvier (par ex) c'est encore la feuille de dec qui se modifie parce que la première macro a été faite, enregistré sur janvier!!!

MMMMMMMMMEEEEEEEEEEERRRRRRRRRRRRRRRCCCCCCCIIIIII beaucoup si vous pouvez m'aider!
J'ai déjà beaucoup appris grâce à vous!

Espère que l'un d'entre vous aura la gentillesse de m'aider et que mes questions n'étaient trop brouillonnes,
Bien à vous,

Antoine
 

Pièces jointes

  • Aide Forum.xlsm
    32.7 KB · Affichages: 53

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Macro tri Ligne Variable Colonne Fixe

Bonjour Faco,

Si vos tris sont uniquement sur une seule colonne, pourquoi ne pas utiliser un filtre automatique (sélectionner la zone B14:M14 puis appliquez un filtre automatique) ? Vous pourrez ainsi trier, sans macro, sur la colonne de votre choix (et c'est indépendant de la feuille).
 

Pièces jointes

  • Faco-Tri-v1.xlsm
    30.6 KB · Affichages: 51
Dernière édition:

don_pets

XLDnaute Occasionnel
Re : Macro tri Ligne Variable Colonne Fixe

'llo,

je modifierai simplement ta macro like that :

Code:
    ActiveWorkbook.Worksheets("DEC").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("DEC").Sort.SortFields.Add Key:=Range("C3600"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("DEC").Sort
        .SetRange Range("B15:M3600")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Et à mon avis tu peux enquiller les lignes sans que cela nuise à ton besoin ^^

don
 

Fako

XLDnaute Nouveau
Re : Macro tri Ligne Variable Colonne Fixe

Bonjour Faco,

Si vos tris sont uniquement sur une seule colonne, pourquoi ne pas utiliser un filtre automatique (sélectionner la zone B14:M14 puis appliquez un filtre automatique) ? Vous pourrez ainsi trier, sans macro, sur la colonne de votre choix (et c'est indépendant de la feuille).


Bonjour,

Merci pour votre réponse.
Avez-vous modifié quelque chose sur le fichier que je devrais voir?
En fait j'aurais aimé associer le classement à un bouton parce que plusieurs personnes doivent pouvoir trier ces données.
Sur la même feuille, on doit pouvoir à tout moment pouvoir trier par date, ou par lieux, ou par nom.
cela doit etre instantané. Si par ex, je dois faire une facture pour Antoine, je dois directement voir.

Est ce que votre solution permet le classement en un clic?

Merci d'avoir pris le temps de répondre en tous cas..
Antoine
 

Fako

XLDnaute Nouveau
Re : Macro tri Ligne Variable Colonne Fixe

'llo,

je modifierai simplement ta macro like that :

Code:
    ActiveWorkbook.Worksheets("DEC").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("DEC").Sort.SortFields.Add Key:=Range("C3600"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("DEC").Sort
        .SetRange Range("B15:M3600")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Et à mon avis tu peux enquiller les lignes sans que cela nuise à ton besoin ^^

don


Merci super!!
Cela semble fonctionner!!
MERCI beaucoup!!

Une idée pour la deuxième question?
 

Fako

XLDnaute Nouveau
Re : Macro tri Ligne Variable Colonne Fixe

Pour la deuxième question, quand je fais le copié collé etc,
le code de la macro ne change pas par rapport à la nouvelle feuilles
donc..
Quand j'ai la feuille DECEMBRE
Je copie colle pour JANVIER

J'ai effectivement tous les boutons et tous les tableaux.
Mais quand j'utilise la bouton de JANVIER, cela modifie les tableaux de DECEMBRE.
La macro est toujours faite pour DECEMBRE

QUESTION Dois je la refaire 12 fois pour les 12 mois
OU
il y aurait-il une ligne dans le code qu'on pourrait rajouter pour qu'elle s'applique à toutes les feuilles du classeur..

Merci d'avoir erépondu en tous cas!!
 

don_pets

XLDnaute Occasionnel
Re : Macro tri Ligne Variable Colonne Fixe

comme ça à vue de nez, je dirais qu'il serait plus judicieux de faire un onglet type, et lorsque tu cliques sur un bouton, ça vienne chercher cet onglet type, t'en crée un nouveau et colle tout dedans en mettant le mois.

Présenté comme ça c'est un peu fouillis mais dans ma tête c'est limpide ^^. Ceci dit suis un peu prit cet aprème donc si tu n'est pas pressé te ponds ça demain matin. Mais l'idée c'est ça, un onglet type, et une macro qui vient créer un nouvel onglet en prenant un modèle type.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Macro tri Ligne Variable Colonne Fixe

Bonsoir Fako :), à don_pets :),
(...)
Avez-vous modifié quelque chose sur le fichier que je devrais voir? (...)
Non, je n'ai rien modifié, si ce n'est avoir ajouté le filtre automatique.

(...) Est ce que votre solution permet le classement en un clic? (...)
Non, il faut utiliser le filtre (soit deux cliques :D). Quand il s'agit d'utiliser les fonctionnalités simples d'Excel, je préfère apprendre aux utilisateurs à le faire. C'est doublement gratifiant. D'une part pour l'utilisateur qui est satisfait d'avoir appris une notion nouvelle qu'il pourra mettre en œuvre par la suite dans d'autres situations, et d'autre part pour moi-même qui suis satisfait de l'avoir rendu un chouïa plus autonome.

Et puis vu l'heure qu'il était, j'avoue avoir été pressé d'aller me blottir dans les bras de Morphée :eek:.
 

Discussions similaires