Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 tri date avec la formule =DatSem(B$1;B3;C3)

shitoryu

XLDnaute Occasionnel
Bonsoir,
j'ai une colonne qui génère automatiquement la date dans une colonne : =DatSem(B$1;B3;C3); =DatSem(B$1;B4;C4); etc.
Cela donne les dates : lundi 28 septembre 2020, mardi, etc.

Tout fonctionne bien sauf que je n'arrive pas à faire le tri par date, le menu déroulant ne me propose que le choix A-Z ou Z-A ou part contenu.

J'ai essayé de transformer le format du contenu des cellules mais ça ne marche pas.

Une idée ?
En vous remerciant,
S.
 

goube

XLDnaute Accro
Bonsoir shitoryu,

Les dates, dans excel, sont considérées comme des nombres 28/09/20 = 44102.
j'ai une colonne qui génère automatiquement la date dans une colonne : =DatSem(B$1;B3;C3); =DatSem(B$1;B4;C4); etc.
que donne le résultat de cette formule, c'est lui qu'il faut remettre en format date "jjjj j mmmm aaa"
le tri de A à Z fonctionnera.
Cordialement.
 

shitoryu

XLDnaute Occasionnel
en complément, savez-vous si la colonne où la date s'inscrit automatiquement peut-être verrouillée ? De ce que j'ai pu voir le tri est impossible quand les cellules sont verrouillées, mais il y a peut-être une combine.
merci encore !
 

goube

XLDnaute Accro
Bonjour,

Avec du VBA cela reste possible.
VB:
Sub Tri()

    ActiveSheet.Unprotect
    
    Range("Tableau1[Colonne1]").Select
    ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort.SortFields. _
        Add2 Key:=Range("E5"), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets("Feuil1").ListObjects("Tableau1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .Apply
    End With
    
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        
End Sub

Cordialement.
 

shitoryu

XLDnaute Occasionnel
cool, merci beaucoup !
L'objet est que le tri soit possible pour chacune des colonnes et que la saisie de la date dans la colonne D soit verrouillée pour les utilisateurs (le tableau sera partagé).
j'ai fait quelques essais, mais je n'y arrive pas.
Merci à vous !
 

Pièces jointes

  • Calendrier des activités (2020-21) MAJ 08 janvier 2020.xlsm
    289.2 KB · Affichages: 11

goube

XLDnaute Accro
re,
la macro a été écrite avec l'enregistreur de macro. Essaie sur ton poste pour voir si la syntaxe est la même.

VB:
 ActiveWorkbook.Worksheets("2020 (janv-juillet)").ListObjects("Tableau1").Sort. _
        SortFields.Clear
    ActiveWorkbook.Worksheets("2020 (janv-juillet)").ListObjects("Tableau1").Sort. _
        SortFields.Add2 Key:=Range( _
        "Tableau1[[#All],[Ne pas écrire la date" & Chr(10) & "(ne pas modifier la formule)]]"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
    With ActiveWorkbook.Worksheets("2020 (janv-juillet)").ListObjects("Tableau1"). _
        Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .Apply
    End With
Cordialement.
 

goube

XLDnaute Accro
re,

Une version modifiée, avec une formule à la place de la fonction et une activation du tri au changement de valeur dans la colonne C (C3:C498)
Cordialement.
 

Pièces jointes

  • Calendrier des activités (2020-2021) MAJ 08 janvier 2020.xlsm
    294.1 KB · Affichages: 5

shitoryu

XLDnaute Occasionnel
merci encore ! très bonne idée pour la colonne C, parfait.
par contre si je comprends bien, il faut être en lecture seule pour que la colonne D ne soit pas modifiable. Par contre le tri à partir de la cellule D2 est inopérante dans ce cas. Je m'y prends mal ?
 

goube

XLDnaute Accro
re,
Je ne comprend pas le sens de ta question, les cellules D3 : D498 sont verrouillées.
le verrouillage n'est effectif qu'à partir du moment où la protection de la feuille est activée.
Onglet Révision, Protéger, Ôter la protection de la feuille ou Protéger la feuille.
La macro tri retire la protection, fait le tri et remet la protection.
Cordialement.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…