Comment faire en VBA pour trié une variable tableau avec 10 lignes et 4
colonnes (par exemple) par ordre croissant/ décroissant sur l'une des
colonnes ? Existe t-il des commande de trie (je n'en ai jamais entendu
parlé)?
-- chrisn mettre le bon fai, libertysurf pour me répondre
michdenis
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'-------------------------------------- Sub Test()
'Trier une plage ayant plusieurs colonnes 'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub '--------------------------------------
'-------------------------------------- Sub QuickSort2(SortArray, col, L, R) 'Originally Posted by Jim Rech 10/20/98 Excel.Programming 'Modified to sort on first column of a two dimensional array 'Modified to handle a a second dimension greater than 1 (or zero) Dim i, j, X, Y, mm
i = L j = R X = SortArray((L + R) / 2, col)
While (i <= j) While (SortArray(i, col) < X And i < R) i = i + 1 Wend While (X < SortArray(j, col) And j > L) j = j - 1 Wend If (i <= j) Then For mm = LBound(SortArray, 2) To UBound(SortArray, 2) Y = SortArray(i, mm) SortArray(i, mm) = SortArray(j, mm) SortArray(j, mm) = Y Next mm i = i + 1 j = j - 1 End If Wend If (L < j) Then Call QuickSort2(SortArray, col, L, j) If (i < R) Then Call QuickSort2(SortArray, col, i, R) End Sub '--------------------------------------
Salutations!
"Emcy" a écrit dans le message de news:OCR% ça ne me va pas, je veux travailler sur des variable de type Tableau non pas sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" a écrit dans le message de news:
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri : Range("c2") parceque le tri est sur la colonne c et qu'il y a une en-tête
-- chrisn mettre le bon fai, libertysurf pour me répondre
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un
combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne
sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'--------------------------------------
Sub Test()
'Trier une plage ayant plusieurs colonnes
'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes
QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub
'--------------------------------------
'--------------------------------------
Sub QuickSort2(SortArray, col, L, R)
'Originally Posted by Jim Rech 10/20/98 Excel.Programming
'Modified to sort on first column of a two dimensional array
'Modified to handle a a second dimension greater than 1 (or zero)
Dim i, j, X, Y, mm
i = L
j = R
X = SortArray((L + R) / 2, col)
While (i <= j)
While (SortArray(i, col) < X And i < R)
i = i + 1
Wend
While (X < SortArray(j, col) And j > L)
j = j - 1
Wend
If (i <= j) Then
For mm = LBound(SortArray, 2) To UBound(SortArray, 2)
Y = SortArray(i, mm)
SortArray(i, mm) = SortArray(j, mm)
SortArray(j, mm) = Y
Next mm
i = i + 1
j = j - 1
End If
Wend
If (L < j) Then Call QuickSort2(SortArray, col, L, j)
If (i < R) Then Call QuickSort2(SortArray, col, i, R)
End Sub
'--------------------------------------
Salutations!
"Emcy" <ten.etsop@ycme.ycme> a écrit dans le message de news:OCR%23nzUIEHA.4032@TK2MSFTNGP12.phx.gbl...
ça ne me va pas, je veux travailler sur des variable de type Tableau non pas
sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" <chrisn@freesurf.invalid> a écrit dans le message de
news:OXe1JGTIEHA.3248@TK2MSFTNGP12.phx.gbl...
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu
parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri :
Range("c2") parceque le tri est sur la colonne c et qu'il y a une
en-tête
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'-------------------------------------- Sub Test()
'Trier une plage ayant plusieurs colonnes 'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub '--------------------------------------
'-------------------------------------- Sub QuickSort2(SortArray, col, L, R) 'Originally Posted by Jim Rech 10/20/98 Excel.Programming 'Modified to sort on first column of a two dimensional array 'Modified to handle a a second dimension greater than 1 (or zero) Dim i, j, X, Y, mm
i = L j = R X = SortArray((L + R) / 2, col)
While (i <= j) While (SortArray(i, col) < X And i < R) i = i + 1 Wend While (X < SortArray(j, col) And j > L) j = j - 1 Wend If (i <= j) Then For mm = LBound(SortArray, 2) To UBound(SortArray, 2) Y = SortArray(i, mm) SortArray(i, mm) = SortArray(j, mm) SortArray(j, mm) = Y Next mm i = i + 1 j = j - 1 End If Wend If (L < j) Then Call QuickSort2(SortArray, col, L, j) If (i < R) Then Call QuickSort2(SortArray, col, i, R) End Sub '--------------------------------------
Salutations!
"Emcy" a écrit dans le message de news:OCR% ça ne me va pas, je veux travailler sur des variable de type Tableau non pas sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" a écrit dans le message de news:
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri : Range("c2") parceque le tri est sur la colonne c et qu'il y a une en-tête
-- chrisn mettre le bon fai, libertysurf pour me répondre
Emcy
Bonjour, je ne comprend pas bien comment fonctionne ta macro : c'est quoi cette fonction SortArray (j'ai appuyer sur F1 pour avoir l'aide mais elle n'est pas reconnue) ?
"michdenis" a écrit dans le message de news:O9hr$
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'-------------------------------------- Sub Test()
'Trier une plage ayant plusieurs colonnes 'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub '--------------------------------------
'-------------------------------------- Sub QuickSort2(SortArray, col, L, R) 'Originally Posted by Jim Rech 10/20/98 Excel.Programming 'Modified to sort on first column of a two dimensional array 'Modified to handle a a second dimension greater than 1 (or zero) Dim i, j, X, Y, mm
i = L j = R X = SortArray((L + R) / 2, col)
While (i <= j) While (SortArray(i, col) < X And i < R) i = i + 1 Wend While (X < SortArray(j, col) And j > L) j = j - 1 Wend If (i <= j) Then For mm = LBound(SortArray, 2) To UBound(SortArray, 2) Y = SortArray(i, mm) SortArray(i, mm) = SortArray(j, mm) SortArray(j, mm) = Y Next mm i = i + 1 j = j - 1 End If Wend If (L < j) Then Call QuickSort2(SortArray, col, L, j) If (i < R) Then Call QuickSort2(SortArray, col, i, R) End Sub '--------------------------------------
Salutations!
"Emcy" a écrit dans le message de news:OCR%
ça ne me va pas, je veux travailler sur des variable de type Tableau non pas
sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" a écrit dans le message de news:
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri : Range("c2") parceque le tri est sur la colonne c et qu'il y a une en-tête
-- chrisn mettre le bon fai, libertysurf pour me répondre
Bonjour,
je ne comprend pas bien comment fonctionne ta macro : c'est quoi cette
fonction SortArray (j'ai appuyer sur F1 pour avoir l'aide mais elle n'est
pas reconnue) ?
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O9hr$9UIEHA.720@TK2MSFTNGP10.phx.gbl...
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un
combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne
sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'--------------------------------------
Sub Test()
'Trier une plage ayant plusieurs colonnes
'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes
QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub
'--------------------------------------
'--------------------------------------
Sub QuickSort2(SortArray, col, L, R)
'Originally Posted by Jim Rech 10/20/98 Excel.Programming
'Modified to sort on first column of a two dimensional array
'Modified to handle a a second dimension greater than 1 (or zero)
Dim i, j, X, Y, mm
i = L
j = R
X = SortArray((L + R) / 2, col)
While (i <= j)
While (SortArray(i, col) < X And i < R)
i = i + 1
Wend
While (X < SortArray(j, col) And j > L)
j = j - 1
Wend
If (i <= j) Then
For mm = LBound(SortArray, 2) To UBound(SortArray, 2)
Y = SortArray(i, mm)
SortArray(i, mm) = SortArray(j, mm)
SortArray(j, mm) = Y
Next mm
i = i + 1
j = j - 1
End If
Wend
If (L < j) Then Call QuickSort2(SortArray, col, L, j)
If (i < R) Then Call QuickSort2(SortArray, col, i, R)
End Sub
'--------------------------------------
Salutations!
"Emcy" <ten.etsop@ycme.ycme> a écrit dans le message de
news:OCR%23nzUIEHA.4032@TK2MSFTNGP12.phx.gbl...
ça ne me va pas, je veux travailler sur des variable de type Tableau non
pas
sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" <chrisn@freesurf.invalid> a écrit dans le message de
news:OXe1JGTIEHA.3248@TK2MSFTNGP12.phx.gbl...
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu
parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri :
Range("c2") parceque le tri est sur la colonne c et qu'il y a une
en-tête
Bonjour, je ne comprend pas bien comment fonctionne ta macro : c'est quoi cette fonction SortArray (j'ai appuyer sur F1 pour avoir l'aide mais elle n'est pas reconnue) ?
"michdenis" a écrit dans le message de news:O9hr$
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'-------------------------------------- Sub Test()
'Trier une plage ayant plusieurs colonnes 'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub '--------------------------------------
'-------------------------------------- Sub QuickSort2(SortArray, col, L, R) 'Originally Posted by Jim Rech 10/20/98 Excel.Programming 'Modified to sort on first column of a two dimensional array 'Modified to handle a a second dimension greater than 1 (or zero) Dim i, j, X, Y, mm
i = L j = R X = SortArray((L + R) / 2, col)
While (i <= j) While (SortArray(i, col) < X And i < R) i = i + 1 Wend While (X < SortArray(j, col) And j > L) j = j - 1 Wend If (i <= j) Then For mm = LBound(SortArray, 2) To UBound(SortArray, 2) Y = SortArray(i, mm) SortArray(i, mm) = SortArray(j, mm) SortArray(j, mm) = Y Next mm i = i + 1 j = j - 1 End If Wend If (L < j) Then Call QuickSort2(SortArray, col, L, j) If (i < R) Then Call QuickSort2(SortArray, col, i, R) End Sub '--------------------------------------
Salutations!
"Emcy" a écrit dans le message de news:OCR%
ça ne me va pas, je veux travailler sur des variable de type Tableau non pas
sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" a écrit dans le message de news:
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri : Range("c2") parceque le tri est sur la colonne c et qu'il y a une en-tête
-- chrisn mettre le bon fai, libertysurf pour me répondre
Emcy
Oups c'est bon, j'ai tout compris : c'est bien ça que je recherchais. Merci beaucoup !
"Emcy" a écrit dans le message de news:%
Bonjour, je ne comprend pas bien comment fonctionne ta macro : c'est quoi cette fonction SortArray (j'ai appuyer sur F1 pour avoir l'aide mais elle n'est pas reconnue) ?
"michdenis" a écrit dans le message de news:O9hr$
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'-------------------------------------- Sub Test()
'Trier une plage ayant plusieurs colonnes 'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub '--------------------------------------
'-------------------------------------- Sub QuickSort2(SortArray, col, L, R) 'Originally Posted by Jim Rech 10/20/98 Excel.Programming 'Modified to sort on first column of a two dimensional array 'Modified to handle a a second dimension greater than 1 (or zero) Dim i, j, X, Y, mm
i = L j = R X = SortArray((L + R) / 2, col)
While (i <= j) While (SortArray(i, col) < X And i < R) i = i + 1 Wend While (X < SortArray(j, col) And j > L) j = j - 1 Wend If (i <= j) Then For mm = LBound(SortArray, 2) To UBound(SortArray, 2) Y = SortArray(i, mm) SortArray(i, mm) = SortArray(j, mm) SortArray(j, mm) = Y Next mm i = i + 1 j = j - 1 End If Wend If (L < j) Then Call QuickSort2(SortArray, col, L, j) If (i < R) Then Call QuickSort2(SortArray, col, i, R) End Sub '--------------------------------------
Salutations!
"Emcy" a écrit dans le message de news:OCR%
ça ne me va pas, je veux travailler sur des variable de type Tableau non pas
sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" a écrit dans le message de news:
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri : Range("c2") parceque le tri est sur la colonne c et qu'il y a une en-tête
-- chrisn mettre le bon fai, libertysurf pour me répondre
Oups c'est bon, j'ai tout compris : c'est bien ça que je recherchais. Merci
beaucoup !
"Emcy" <ten.etsop@ycme.ycme> a écrit dans le message de
news:%23qkYHKVIEHA.2244@TK2MSFTNGP09.phx.gbl...
Bonjour,
je ne comprend pas bien comment fonctionne ta macro : c'est quoi cette
fonction SortArray (j'ai appuyer sur F1 pour avoir l'aide mais elle n'est
pas reconnue) ?
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:O9hr$9UIEHA.720@TK2MSFTNGP10.phx.gbl...
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un
combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne
sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'--------------------------------------
Sub Test()
'Trier une plage ayant plusieurs colonnes
'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes
QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub
'--------------------------------------
'--------------------------------------
Sub QuickSort2(SortArray, col, L, R)
'Originally Posted by Jim Rech 10/20/98 Excel.Programming
'Modified to sort on first column of a two dimensional array
'Modified to handle a a second dimension greater than 1 (or zero)
Dim i, j, X, Y, mm
i = L
j = R
X = SortArray((L + R) / 2, col)
While (i <= j)
While (SortArray(i, col) < X And i < R)
i = i + 1
Wend
While (X < SortArray(j, col) And j > L)
j = j - 1
Wend
If (i <= j) Then
For mm = LBound(SortArray, 2) To UBound(SortArray, 2)
Y = SortArray(i, mm)
SortArray(i, mm) = SortArray(j, mm)
SortArray(j, mm) = Y
Next mm
i = i + 1
j = j - 1
End If
Wend
If (L < j) Then Call QuickSort2(SortArray, col, L, j)
If (i < R) Then Call QuickSort2(SortArray, col, i, R)
End Sub
'--------------------------------------
Salutations!
"Emcy" <ten.etsop@ycme.ycme> a écrit dans le message de
news:OCR%23nzUIEHA.4032@TK2MSFTNGP12.phx.gbl...
ça ne me va pas, je veux travailler sur des variable de type Tableau non
pas
sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" <chrisn@freesurf.invalid> a écrit dans le message de
news:OXe1JGTIEHA.3248@TK2MSFTNGP12.phx.gbl...
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu
parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri :
Range("c2") parceque le tri est sur la colonne c et qu'il y a une
en-tête
Oups c'est bon, j'ai tout compris : c'est bien ça que je recherchais. Merci beaucoup !
"Emcy" a écrit dans le message de news:%
Bonjour, je ne comprend pas bien comment fonctionne ta macro : c'est quoi cette fonction SortArray (j'ai appuyer sur F1 pour avoir l'aide mais elle n'est pas reconnue) ?
"michdenis" a écrit dans le message de news:O9hr$
Bonjour Emcy,
Est-ce que tu cherches quelque chose dans le genre ?
Avec cette procédure, on peut trier une liste d'un combobox ou listbox en ordre croissant.
Pour ce faire : La liste doit être :
A ) Multi-colonnes
B ) Le 1 dans la ligne de commandes signifie la colonne sur laquelle le tri s'effectue.
C ) Cette procédurpeut servir aussi sur une plage de cellules.
'-------------------------------------- Sub Test()
'Trier une plage ayant plusieurs colonnes 'sur la première colonne de cette plage
Worksheets("Feuil1").ComboBox1.Clear
varr = Range(Cells(1, 1), Cells(10, 3))
'Pour une plage ayant plusieurs colonnes QuickSort2 varr, 1, LBound(varr, 1), UBound(varr, 1)
Worksheets("Feuil1").ComboBox1.List = varr
End Sub '--------------------------------------
'-------------------------------------- Sub QuickSort2(SortArray, col, L, R) 'Originally Posted by Jim Rech 10/20/98 Excel.Programming 'Modified to sort on first column of a two dimensional array 'Modified to handle a a second dimension greater than 1 (or zero) Dim i, j, X, Y, mm
i = L j = R X = SortArray((L + R) / 2, col)
While (i <= j) While (SortArray(i, col) < X And i < R) i = i + 1 Wend While (X < SortArray(j, col) And j > L) j = j - 1 Wend If (i <= j) Then For mm = LBound(SortArray, 2) To UBound(SortArray, 2) Y = SortArray(i, mm) SortArray(i, mm) = SortArray(j, mm) SortArray(j, mm) = Y Next mm i = i + 1 j = j - 1 End If Wend If (L < j) Then Call QuickSort2(SortArray, col, L, j) If (i < R) Then Call QuickSort2(SortArray, col, i, R) End Sub '--------------------------------------
Salutations!
"Emcy" a écrit dans le message de news:OCR%
ça ne me va pas, je veux travailler sur des variable de type Tableau non pas
sur Excel (Dim MonTableau(1 to 10, 1 to 4) as string)
"chrisn" a écrit dans le message de news:
Bonjour,
"Emcy" :
Existe t-il des commande de trie (je n'en ai jamais entendu parlé)?
Ce n'est pas sur un tableau en mémoire, mais c'est bien un ordre de
tri : Range("c2") parceque le tri est sur la colonne c et qu'il y a une en-tête