Aide excel
Résolu
Bonjour,
Je souhaite trier par ordre croissant des lignes d'un tableau excel (valeur de 1 à 560) mais également ajouter des cellules vides à chaque fois qu'une valeur n'est pas présente.
Par exemple :
2 5 3 10 15 12
j'aimerais avoir :
-- 2 3 -- 5 -- -- -- -- 10 -- 12 -- -- 15
Est-ce-possible avec excel 2007 ou un autre logiciel merci par avance de vos réponses.
Je souhaite trier par ordre croissant des lignes d'un tableau excel (valeur de 1 à 560) mais également ajouter des cellules vides à chaque fois qu'une valeur n'est pas présente.
Par exemple :
2 5 3 10 15 12
j'aimerais avoir :
-- 2 3 -- 5 -- -- -- -- 10 -- 12 -- -- 15
Est-ce-possible avec excel 2007 ou un autre logiciel merci par avance de vos réponses.
6 réponses
-
Contributeurbonjour,
as tu des doublons dans ta liste de départ ?
a te lire -
Bonjour,
Non aucun doublon dans la liste de départ -
bonjour ;
pour résoudre ce problème il faut un macro -
Bonjour,
Merci pour cette info par contre je suis un peu novice avec excel, trier des données je sais faire, par contre faire une macro pour rajouter des cellules il me faudrait un peu plus d'explications svp. -
Contributeurci joint proposition à adapter à ta présentation
https://www.cjoint.com/?3EflAKDZSEl
le code:Sub TriaBulle(T, Optional SensTri As Boolean = True) ' auteur:Zon/xld Dim Test As Boolean, I&, Temp Do Test = False For I = LBound(T) To UBound(T) - 1 If (T(I) > T(I + 1) And SensTri) Or (T(I) < T(I + 1) And Not SensTri) Then Temp = T(I) T(I) = T(I + 1) T(I + 1) = Temp Test = True End If Next I Loop Until Not Test End Sub Sub classer_avec_trous() Dim T_out(1 To 560), T_in, cptr As Integer T_in = Application.Transpose(Range("A1:A230").Value) TriaBulle T_in For cptr = 1 To UBound(T_in) T_out(T_in(cptr)) = T_in(cptr) Next Application.ScreenUpdating = False With Range("C1:C560") .Value = Application.Transpose(T_out) .Borders.Weight = xlThin End With End Sub -
Merci beaucoup
çà va bien me servir.