Classement sur differentes feuilles

Bonjour à tout le monde.

malgré mes recherches sur le forum, je n'ai pas trouvé ma solution.

Explication:

Sur la 1ere feuille j ai une permanence de differents croupier ( environ 30 000 numeros )

Chaque croupier lance entre 20 et 33 numeros.

Je voudrais classer cette permanence par croupier avec une feuille par croupier qui regroupe tous ses tirages non pas a la suite mais par cession. (voir exemple)

Sachant que tous les jours je ralonge la permanence (1ere feuille) de plusieurs centaines de numeros.

je souhaiterai que cela se fasse automatiquement.

Je ne suis pas du tout un expert de excel, j ai qq connaissances de base, mais la c 'est trop dur pour moi.

1/ est ce que la solution existe?

2/ dans l affirmative pourrais je avoir de l aide?

merci a tous par avance

Bonne journée

JLDV

Bonjour,

Produire tes feuilles par croupier à partir de la feuille Permanence ? Pas de problème.

Mais si je comprends bien, il faut pouvoir poursuivre par la suite à partir de l'endroit où l'on était parvenu ?

Peut-on mettre une mention jalon, par exemple en C pour indiquer que jusqu'à cette ligne tout a été transféré ?

Cordialement.

Bonjour

Merci pour ta reponse,

Oui bien sur pour le jalon si j ai bien compris la signification ( marquage du dernier classement)

merci bco

Cordialement

JL

Bon ! Je livre le code :

Private Sub cbClasser_Click()
    Dim crp$, i&, d&, f&, n&, k%, trf As Range
    d = WorksheetFunction.Match("transféré", Me.Columns("C"), 0) + 1
    Set trf = Me.Range("C" & d - 1)
    n = Me.Range("A" & Rows.Count).End(xlUp).Row
    Application.ScreenUpdating = False
    Do
        crp = Me.Range("A" & d)
        If crp <> "" Then
            crp = Split(crp)(0)
        Else
            Exit Do
        End If
        For i = d To n + 1
            If Not Me.Range("A" & i) Like crp & "*" Then
                f = i: Exit For
            End If
        Next i
        On Error GoTo nocrp
        With Worksheets(crp)
            On Error GoTo 0
            k = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
            With .Cells(1, k).Resize(f - d)
                .Value = Me.Range("B" & d & ":B" & f - 1).Value
                .HorizontalAlignment = xlCenter
                .ColumnWidth = 3.29
                With .Borders
                    .LineStyle = xlContinuous
                    .Weight = xlThin
                End With
            End With
        End With
        d = f: crp = ""
    Loop
    Me.Range("C" & n) = "transféré": trf.ClearContents
    Me.Activate
    Exit Sub
nocrp:
    Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = crp
    With Worksheets(crp).Range("A1")
        .Value = crp
        .HorizontalAlignment = xlCenter
        .Font.Bold = True
        .Interior.Color = RGB(255, 192, 0)
        .BorderAround xlContinuous, xlMedium
    End With
    Resume
End Sub

J'ai transformé ton titre en bouton, ajouté une ligne en-tête, figée pour y garder le bouton. Tu cliques pour tester.

(si je ne me suis pas trompé de fichier, que ça à faire).

Interrogation par rapport à tes exemples : pour Lily je n'obtiens que 2 col., 3 pour Keven et 2 (au lieu d'1) pour Kayla. Dis-moi si tes exemples étaient bien issus de ton fichier avant que je me lance à chercher pourquoi de tels écarts !

Cordialement.

wow c est genial!!

pas d inquietude l exemple a ete fait au hazard .

je verifie tout cela mais je pense que c 'est parfait.

Question ; est ce que cela marchera meme si je rajoute des tirages et nouveaux croupiers a la permanence originale?

et est ce que je peux mettre une autre permanence par copier coller?

Comme tu as vu, j'avais mis une mention "transféré" en C1, pour que la procédure puisse s'amorcer d'elle-même sur la feuille Permanence non encore traitée. A chaque traitement, elle efface le "transféré" antérieur et le remet sur la dernière ligne traitée. Le processus peut se poursuivre tant que tu ajoutes des données à la suite...

La procédure est attachée à un bouton de type ActiveX, ce pourquoi elle se trouve dans le module de la feuille (et a le nom du bouton suivi de "_Click" comme nom).

Si tu rajoutes de nouveaux croupiers, des feuilles à leurs noms seront créées au fur et à mesure, comme actuellement.

Si tu effaces ta feuille Permanence, le reste demeure... Et cela va continuer à fonctionner si tu prends soin de marquer "tranféré" en C1 pour qu'on reparte de la ligne 2.

Si tu veux transférer la procédure dans un autre classeur : il suffit de la mettre sur un module de feuille de calcul, comme code d'un bouton activeX, et si ta feuille est organisée de la même façon, la macro fonctionnera sans modification, la feuille étant désignée par "Me" dans le code, qui est toujours l'objet auquel appartient le module. Et pour le nom de la procédure, on ne le met pas directement : le nom du bouton apparaît dans la liste déroulante de gauche du module, on clique sur ce nom, ce qui fait générer par VBA la déclaration de procédure par défaut associée au bouton, soit la 1re et la dernière ligne de la procédure, c'est entre ces deux lignes qu'on colle le reste du code. Si tu as renommé ton bouton, il apparaît sous ce nom dans la liste déroulante et en première ligne (sinon, le nom générique : CommandButton1 ou x)

Cordialement.

c est super.

merci beaucoup.

je ne sais comment te remercier plus.

cordialement.

dvjl

Bonne continuation.

Rechercher des sujets similaires à "classement differentes feuilles"