Texte contenue dans plage décaler

Bonjour à tous !

Comment allez-vous ?

J'aurais besoin de votre aide pour connaître le texte contenu dans plusieurs cellules. Le but est de savoir dans quel quart-temps de basket le maximum de points a été inscrit (attention, il peut y avoir plusieurs max). Pour bien comprendre la question, le plus simple est de regarder l'exemple dans la colonne Q du fichier joint.

Merci beaucoup pour votre aide

Bonne journée

Quik

Salut Quik!

Comment allez-vous ?

On fais aller :p Et toi, comment va ?

Le but est de savoir dans quel quart-temps de basket le maximum de points a été inscrit

Une solution par VBA te conviens :p ?

Si oui, cf le fichier ci-joint !

Restant à dispo

10pour-quik.xlsm (638.06 Ko)

Salut Juice,

ça va merci

Oui, une solution VBA irai très bien.

J'ai testé ton code mais il y a souci, il manque le dernier résultat pour le dernier match et aussi, si il y a deux maximums, il n'en prend que un des deux (dans l'ordre si c'est 1 et 4ème il va prend le 1er quart, si c'est 2 et 3ème il va prendre le 2ème)

Dans ce cas de figure il faudra que ce soit mis 1st4th et 2nd3rd

Vois-tu une solution ?

Est-ce que le code fonctionne s'il y a 1000 lignes de plus ou de moins ?

Merci beaucoup pour ton aide !

A+

Bonsoir tt le monde,

à tester.

Bonnes fêtes.

Bonsoir bigdaddy154,

Merci, bonnes fêtes à toi aussi !

J'ai bien regarder ton fichier mais je comprend pas, lorsque j'ajoute 4 lignes comme sur l'exemple que je joint, il m'indique pas le bon quart-temps pour le dernier match que j'ajoute.

Aurais-tu une idée ?

Merci

Bonne soirée

Quik

Je relance le sujet..

Quelqu'un aurait une idée ?

Merci !

Bonne après-midi

Reeee~

Salut bigdaddy!

Bonne fête également ;D

il manque le dernier résultat pour le dernier match

C'est réglé en remplaçant le While Wend par un Do While Loop

et aussi, si il y a deux maximums, il n'en prend que un des deux (dans l'ordre si c'est 1 et 4ème il va prend le 1er quart, si c'est 2 et 3ème il va prendre le 2ème)

Dans ce cas de figure il faudra que ce soit mis 1st4th et 2nd3rd

Vois-tu une solution ?

Alors la par contre je ne comprend pas le truc!

Ton fichier ne présente pas qu'un seul résultat toute les quatre lignes ?

J'aimerais bien avoir un fichier exemple avec ces fameux "1st4th et 2nd3rd" stp ^^

Est-ce que le code fonctionne s'il y a 1000 lignes de plus ou de moins ?

Oui oui!

Le nombre de ligne a traité se fais en fonction du nombre de ligne présent en colonne F

Il en ferra pas une de plus et pas une de moins ;D

Restant à dispo!

Salut Juice,

Merci pour ta réponse ! J'ai essayer de changer le While Wend par Do While et Loop mais je crois pas que j'ai fait juste

Sub Basket()
Dim x, y As Long, c, p As Range
Columns("Q:Q").Delete
For x = 1 To Range("F" & Rows.Count).End(xlUp).Row
    y = x + 1
    Do While Cells(y, 6) <> Cells(x, 6)
        y = y + 1
        If Cells(y, 6) = "" Then Exit For
    Loop
    y = y - 1
    Set p = Range("M" & x & ":P" & y)
    For Each c In p
        If c <> "" Then
            Cells(x, 17) = c.Value
            Range("Q" & x & ":Q" & y).Merge
            Exit For
        End If
    Next c
    x = y
Next
Columns("Q:Q").HorizontalAlignment = xlCenter
Columns("Q:Q").VerticalAlignment = xlCenter
End Sub

Pour les 2nd3rd, regarde le fichier que j'ai joint, j'ai volontairement modifié les résultats des quart-temps du dernier match. j'ai mis le même nombre de points sur tout les quart-temps donc je devrais avoir 1st2nd3rd4th. Pour ça le fichier de Bigdaddy fonctionne mais il a d'autres soucis.

Merci bcp !

Reeee~

Je pense avoir compris cette logique de mettre deux références si les scores sont identiques sur des quarts différents !

Je te laisse regarder le fichier & codes ci-dessous

Restant à dispo!

Sub Basket_v_2()
Dim x, y, z As Long
Columns("M:M").ClearContents
Columns("M:M").UnMerge
For x = 1 To Range("F" & Rows.Count).End(xlUp).Row
    y = x + 1
    Do While Cells(y, 6) <> Cells(x, 6)
        If Cells(y, 6) = "" Then Exit Do
        y = y + 1
    Loop
    y = y - 1
    For z = x To y
        If Cells(z, 11) = Cells(z, 12) Then Cells(x, 13) = Cells(x, 13) & Cells(z, 6)
    Next
    Range(Cells(x, 13), Cells(y, 13)).Merge
    x = y
Next
Columns("M:M").HorizontalAlignment = xlCenter
Columns("M:M").VerticalAlignment = xlCenter
End Sub
4pour-quik.xlsm (471.11 Ko)

Re !

Il est parfait ton code !!

Merci beaucoup !!!!

Rechercher des sujets similaires à "texte contenue plage decaler"