Faire un Tri sur une colonne contenant des liaisons (VBA)

Bonjour, j'ai un tableau journalier, me servant à la fois de pointage mais également d'affectation du personnel.

La colonne B8 est relié à un fichier excell sur lequel j'établis le planning des agents.

Ce que j'aimerais c'est faire un tri par ordre croissant de la colonne L8 qui est reliée à la colonne B8. Est-ce qu'il n'existerait pas une macro me permettant de le faire.

Encore merci de votre aide.

Bonjour,

Il te faut "couper" la liaison donc, faire un copier puis collage spécial choisir "Valeurs" et ensuite, tu peux trier

Merci beaucoup, mais cette fonctionnalité je la connaissais, je voulais savoir s'il n'existait pas une macro, afin d'automatiser le tri.

Bonjour à tous

Un essai à tester. Te convient-il ?

Bye !

Merci, c'est ce style de macro que je recherche, mais à 1ère vue cela ne fonctionne pas car j'ai un message d'erreur

capture d ecran 2017 04 14 a 09 44 52 capture d ecran 2017 04 14 a 09 45 05

Je pense que si l'ensemble fonctionne; c'est exactement ce que je veux

Encore merci.

Je suis déssolé.

Je n'avais pas fait attention que tu travaillais sous MAC

Or, d'après des infos communiquées sur ce forum par un adhérent, la fonction "Replace" utiliée dans la macro n'existe pas sur MAC.

Et je ne sais pas comment contourner ce problème...

Dommage !

Bye !

Le classement par fonction marche très bien, par contre celui concernant le classement par non ne fonctionne pas, est-il possible de faire quelque chose afin que ce dernier fonctionne.

Merci

Bonjour,

Il me semble que tu devrais modifier ta formule en L :

=T(B8)

Cela éliminerait déjà les 0 !

D'autre part, pourquoi cette formule est-elle absente du modèle ?

Il devient ensuite facile d'écraser la formule [ .Range("L8:L64").Value = .Range("L8:L64").Value ] et opérer des tris sur K ou L...

NB- Les colonnes K et L peuvent par ailleurs ne pas être alimentées du tout au départ, et ne l'être que lors du tri par transfert des valeurs de A et B (puis Tri)... Ce qui serait sans doute le plus économique.

Cordialement.

Merci mais je ne comprends pas ce que tu veux dire, la macro fonction marche très bien, par contre lorsque je click sur la macro nom, il n'y pas de remise dans l'ordre alphabétique et c'est que j 'aimerais.

Eh bien voilà ma proposition :

Sub Classement()
    Dim nf
    nf = CInt(Right(Application.Caller, 1))
    nf = Chr(74 + nf)
    Application.ScreenUpdating = False
    With ActiveSheet
        .Range("K8:L64").Value = .Range("A8:B64").Value
        .Range("K8:L64").Sort key1:=.Range(nf & 8), order1:=xlAscending, Header:=xlNo
    End With
End Sub

Je pense que cela simplifie ! Une seule procédure ! Et vraiment pas longue !

NB- J'ai laissé dans le fichier la procédure ayant servi à réaffecter les boutons de toutes les feuilles (elle n'a à servir qu'une fois, le modèle prend ensuite le relais...).

Cordialement.

Super, c'est exactement ce que je voulais.

Merci beaucoup

Rechercher des sujets similaires à "tri colonne contenant liaisons vba"