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

XL 2016 listing avec tri selon classification

  • Initiateur de la discussion Initiateur de la discussion moma
  • 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 !

moma

XLDnaute Nouveau
Bonjour,

Grace a votre aide j'ai crée un tableur pour un listing au boulot
ou chaque bouton en haut interagit avec la liste en dessus

Comme vous pouvez le constater chaque bouton "fds a caisse" "paye" fds + ndf" "ndf" "ar" ... fonctionne
il surligne une ligne en la classifiant d'un numéro pour un futur tri.

Aujourd'hui je veux rajouter le bouton FDS+TM est je n'arrive pas a le faire fonctionner.
il surligne bien mais je veux pas rajouter le numéro 3 pour son trie.

merci pour votre aide
 

Pièces jointes

bonsoir Moma,
quelques erreurs dans votre code VBA qui en l'état ne peut pas fonctionner, quelque soit le bouton
appel à ecrirel en passant un paramètre alors que la macro n'en a pas 😡

Le code corrigé (ajout en paramètre du n° de la ligne), qui fonctionne également pour le nouveau bouton.
VB:
Sub ecrire()
    For Each Ligne In Selection.Rows 'pour chaque ligne sŽlectionnŽes
        Call ecrirel(Ligne.Row)
    Next
End Sub
Sub ecrirel(maligne As Double)
    tabletrie = Array("FDS A CAISSE", "PAYE", "FDS + NDF", "NDF", "AR", "SCINTI", "", "FDS + TM")    'ces deux tables, vont indiquŽes l'ordre de trie
    indextablerie = Array(3, 3, 1, 1, 2, 3, 0, 3)                                  'l'index de tablerie, donnera la valeur de trie dans indextablerie
    bouton = Application.Caller
     Set bouton = ActiveSheet.Shapes(bouton)
    
    For n = 0 To UBound(tabletrie)
        If bouton.TextFrame2.TextRange.Text = tabletrie(n) Then etat = indextablerie(n) 'Žcriture de l'ordre de trie
    Next
    
    coul = bouton.Fill.ForeColor                'prŽlve la couleur du bouton
    With ActiveSheet
        .Cells(maligne, colet) = etat           ' Inscrit l'Žtat
        .Range(.Cells(maligne, 2), .Cells(maligne, dcol)).Interior.Color = coul ' Surligne
    End With
End Sub
 
Bonjour,

je vous remercie pour votre réponse.

Je viens juste de le tester au travail après mes vacances ... et oui le tableur fonctionne correctement mais n'ajoute toujours as le chiffre 3 sur me ligne FDS + TM. Donc pas de trie possible.

merci
 

Pièces jointes

Bonjour Moma,
l'erreur vient du texte du bouton FDS + TM qui comporte 1 ou 2 espaces après TM -> espaces à supprimer pour passer dans le code
VB:
        If bouton.TextFrame2.TextRange.Text = tabletrie(n) Then
            etat = indextablerie(n) 'Žcriture de l'ordre de trie
        End If
 
Bonsoir le fil

juste en Passantj'ai rajouté ceux-ci: ExitFor
VB:
For n = 0 To UBound(tabletrie)
        If bouton.TextFrame2.TextRange.Text = tabletrie(n) Then
            etat = indextablerie(n)  'Žcriture de l'ordre de trie
    Exit For 'Ici On quitte si trouvé'
Next
Bonne fin de Soirée
Jean marie
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…