XL 2019 Tri automatique

  • Initiateur de la discussion Initiateur de la discussion Yazeubi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Yazeubi

XLDnaute Junior
Bonjour le forum,

Je possèdes une liste déroulante qui me permet de changer les valeurs d'une plage, je souhaite que cette plage soit triés du plus grand au plus petit. Dès que je change de valeurs à l'aide de la liste déroulante, lorsqu'elle apparaissent dans la plage de données elle doivent automatiquement se triés. Il y a parfois des 0 dans les valeurs ils doivent aussi être triés.

Je possèdes une deuxièmes missions qui consiste à désactiver les "0" du champs de cellules indiqué dans l'Excel. Je souhaite que lorsque je change de valeur à l'aide d'une liste déroulante (qui n'est pas crée vous m'en excuserez) le 0 soit désactivé et peu importe dans quel cellules il se situe ( toujours dans le champs de cellules évidement).

Je vous met ci-joint un document Excel, contenant un commentaire et un exemple pour bien expliquer mes demandes. Dans la feuille "Mission n°1" se situe la mission sur le tris des cellules et dans la feuille "Mission 2" se trouve la mission pour désactiver les 0.


Merci de votre précieuse aide.
 

Pièces jointes

Dernière édition:
Pour la mission 2, qu'est-ce qui empêche de vider la cellule de données quand elle est = 0 ?
La colonne C5:C60 est normalement sous forme de liste déroulante, (je n'ai pas eu le temps de la faire), donc si je change les valeurs de la colonnes, les 0 seront situé à d'autre endroit.
Cette colonne est relié à un graphe qui va changé de forme selon les valeurs de la liste déroulante, les "0" signifie qu'il n'y a pas de valeurs et ils me gâche mon graphe, je souhaite donc les désactivés.
 
Si si, il est fonctionnel, les résultats sont en ligne 30 ( j'avais oublié de la préciser )
Pour la mission n°1 c'est super, mais il y un petit problèmes et j'aurais besoin d'indication rapide.
Pour le petit problèmes c'est que les "0" sont bien situé en bout de ligne et n'apparaissent plus mais le reste des valeurs ne sont pas mis du plus grands au plus petit.
Et pour l'indication j'aimerai faire ce que vous avez fais sur un autre dossier, pouvez-vous m'expliquer rapidement votre macro j'ai du mal à comprendre ?
J'aimerai vous dire quel point particulier je ne comprend pas mais je dirais un peu tout.
Merci !

VB:
Sub triDecroissant(tableau)
    nb = UBound(tableau)
    tabTemp = tableau
    ReDim tableau(1 To nb)
    For i = 1 To nb
        pos = 1
        For L = 1 To nb
            If Val(LCase(tabTemp(i))) > Val(LCase(tabTemp(L))) And i <> L Then
                pos = pos + 1
            End If
        Next
        For ii = 1 To 1
            Select Case True
            Case pos = nb
            Case tableau(nb - pos) = "": tableau(nb - pos) = tabTemp(i)
            Case Else
                pos = pos + 1
                ii = ii - 1
            End Select
        Next
    Next
End Sub
 
1654337599742.png

Bonjour @fanch55,

Sur la mission n°1 on peut observer ci-dessus que ce n'est pas dans l'ordre croissant, même si les 0 sont bien désactivé ce qui est bien.
1654337733300.png

Pour la mission n°2 les valeurs de la liste déroulante ont des valeurs aléatoires donc les "0" peuvent se trouver à n'importe qu'elle endroit de la plage de données, j'ai essayé de mette un "0" à en autre endroit dans la plage de données et ils ne sont pas désactivé de partout or c'est ce que je souhaiterais.

Merci de votre aide.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
198
Réponses
6
Affichages
153
Réponses
29
Affichages
838
Retour