Remonter colonne vers le haut quand on sélectionne ou RAPIDEMENT

Bonjour,

Sur ce tableau excel, qui servira à assurer le bon suivi de notre planning au sein d'un garage, nous bloquons sur ceci :

Dans l'onglet "Priorité" (colonne K) nous avons 3 possibilités : urgent, rapidement, normal.

Nous aimerions que lorsque la case de l'onglet passe en "urgent", touta la ligne se mette automatiquement au début du tableau.
Nous aimerions aussi que quand l'onglet passe en "Rapidement", les lignes se mettent également vers le haut mais en dessous de "urgent".
Ceci devrait se faire indépendamment des recherches que l'on pourrait faire dans les autres colonnes...

L'idée serait de pouvoir utiliser ce tableau sur des smartphones.. Donc sans utiliser de macro..

D'avance merci à ceux qui pourraient me venir en aide.

NOEL Bastien
0494/68.81.68

Bonjour,

Un exemple de tri via liste personnalisée pilotée par VBA sous ce lien

si tu n'arrives pas à adapter, reviens...

Bon courage

Bonjour,

C'est exactement ce que j'essaye de faire...

J'ai essayé de modifier la macro, mais ca ne fonctionne pas... Je ne suis pas vraiment un expert..

Savez-vous m'aider ?

Merci beaucoup

Bonjour,

Pour PC, il n'y aura aucun souci, cependant, comme tu le demandais pour Smarphone, (donc sans macro), il faudra insérer la liste personnalisée manuellement, puis effectuer les tris tout aussi manuellement.

En première clé, tu voudrais donc la colonne J (Priorité), est-ce qu'il y aurait une deuxième clé? (par exemple la date de création, en colonne A), ou toute autre clé?

Re-,

Voici le code modifié dans ton fichier : (Tri selon urgente, puis Date de création)

Sub tri_liste_perso()
Dim Num_List As Byte
On Error Resume Next
Num_List = Application.GetCustomListNum(Array("URGENT", "Rapidement", "Normal"))
    'on récupère le numéro de la liste personnelle dans Outils/Options/Listes Persos
If Num_List = 0 Then
    ' Si elle n'existe pas
    Application.AddCustomList ListArray:=Array("URGENT", "Rapidement", "Normal")
    ' on ajoute la liste personnelle
    Num_List = Application.CustomListCount
    ' on récupère le numéro de la liste personnelle
    ' tout ajout de liste personnelle étant à la fin, ce sera donc la dernière
End If
Range("CbProjets").Sort Key1:=Range("CbProjets[[#Headers],[PRIORITÉ]]"), Order1:=xlAscending, Key2:=Range("CbProjets[[#Headers],[DATE DE CREATION]]") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=Num_List + 1
    ' On effectue le tri, avec pour première clé, l'urgence, et deuxième, la date de création
    ' Comme la première (Nouvelle Liste) n'est pas comptabilisée, on ajoute 1 à Num_List
    ' Pour le faire directement sur la feuille, Données/Trier, Lignes de titres : Oui
    ' Choisir "Priorité", et dans Ordre, "Liste personnalisée", choisir URGENT, Rapidement, Normal....
End Sub

Ce code va se dérouler dès que tu mets une urgence dans la colonne priorité via cet évènement :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("CbProjets[PRIORITÉ]")) Is Nothing Then
    Call Tri_liste_perso
End If
End Sub

Le fichier :

Bonjour,

C'est super merci beaucoup !!!

Rechercher des sujets similaires à "remonter colonne haut quand selectionne rapidement"