2 colonne à transposer : Macro ou fonction intégrée à Excel

Bjr,

je dispose de 2 colonnes dans mon tableau excel, la première contient des temps de chonometrage et la seconde contient le no de la personne ayant fait ce temps.

exemple

00:00:02:53 3

00:00:05:73 5

00:00:07:76 1

00:00:09:20 4

00:00:13:78 2

00:00:17:57 3

00:00:19:68 1

00:00:20:75 4

00:00:25:35 2

00:00:27:85 5

00:00:30:51 ...

comme vous le voyez chaque personne (exemple n° 1, ...) a 2 temps qui lui sont associés. Il que je puisse utiliser une commande excel ou à défaut que je fasse une macro ou un truc du genre pour obtenir le tableau suivant :

1 00:00:07:76 00:00:19:68 ....

2 00:00:13:78 00:00:25:35 ....

3 00:00:02:53 00:00:17:57 ....

4 00:00:09:20 00:00:20:75 ....

5 00:00:05:73 00:00:27:85 ....

sachant bien entendu que le nb de personne est bien plus grand que 5 et que j'ai 4 temps de chronomètre par personne et non pas 4.

Comment faire des sommes sur des temps écrits avec des caractères deux point comme séparateur ?

merci

bonjour

en pièce jointe une tentative de réponse par macro.

j'ai limité à chrono par dossards.

salut

https://www.excel-pratique.com/~files/doc/boufon.xls

re

un autre code un peu moins long, il faut activer la référence microsoft scripting runtime dans le menu outil/référence (dans vba)

on est plus limité à 4 dossars, je me suis appuyé sur le fichier joint précédemment.

Public Sub macro2()
Dim data As New Dictionary
Dim tablo, i As Integer, j As Integer
Dim temp

tablo = Range("a1:b" & Range("b65536").End(xlUp).Row)

For i = 1 To UBound(tablo)
    If data.Exists(CStr(tablo(i, 2))) = False Then
        data.Add Item:=tablo(i, 1), Key:=CStr(tablo(i, 2))
    Else
        For j = 0 To data.Count - 1
            If data.Keys(j) = CStr(tablo(i, 2)) Then
                temp = data.Items(j): data.Remove data.Keys(j)
                data.Add Item:=temp & "/" & tablo(i, 1), Key:=CStr(tablo(i, 2)): Exit For
            End If
        Next j
    End If
Next i

For i = 0 To data.Count - 1
    Cells(i + 1, 4) = data.Keys(i)
    tablo = Split(data.Items(i), "/")
    Cells(i + 1, 5).Resize(1, UBound(tablo) + 1) = tablo
Next i

Columns("D:G").Sort Key1:=Range("D1")
End Sub

salut

Un grand merci, c'est exactement ce que je cherchais à faire.

Une idée pour, dans une cellule, faire la somme de deux valeurs :

00:00:17:57 + 00:00:20:57

je voudrais en fait ajouter un colonne temps total pour chaque dossard

Merci bien

Bonjour Bouffon, salut Hervé (super code !)

Bouffon, mets tes cellules au format personnalisé

hh:mm:ss.00

ou hh:mm:ss,00 (suivant ton séparateur de décimale)

Amicalement

Nad

Nad-Dan a écrit :

Bonjour Bouffon, salut Hervé (super code !)

Bouffon, mets tes cellules au format personnalisé

hh:mm:ss.00

ou hh:mm:ss,00 (suivant ton séparateur de décimale)

Amicalement

Nad

1/ Hélas ca marche pas car le dernier séparateur est un ':' est non pas une virgule (ni un point)

boufon a écrit :

1/ Hélas ca marche pas car le dernier séparateur est un ':' est non pas une virgule (ni un point)

Bonjour,

Mais ces temps, tu les remplis bien à un moment donné, non ?

Il te suffit de les remplir sous la forme hh:mm:ss,00

Amicalement

Nad

Rechercher des sujets similaires à "colonne transposer macro fonction integree"