XL 2016 listing avec tri selon classification

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

  • FEUILLE DE SOINS BASE - Copie.xlsm
    24.1 KB · Affichages: 11

crocrocro

XLDnaute Impliqué
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 :mad:

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
 

moma

XLDnaute Nouveau
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

  • FEVRIER 2024.xlsm
    31.8 KB · Affichages: 0

crocrocro

XLDnaute Impliqué
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
 

ChTi160

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
315 127
Messages
2 116 509
Membres
112 765
dernier inscrit
SIDIANW