Aide excel

Résolu
zodiarck Messages postés 5 Statut Membre -  
zodiarck Messages postés 5 Statut Membre -
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.

6 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,

    as tu des doublons dans ta liste de départ ?

    a te lire
    0
  2. zodiarck Messages postés 5 Statut Membre
     
    Bonjour,

    Non aucun doublon dans la liste de départ
    0
  3. smartway14 Messages postés 857 Date d'inscription   Statut Membre Dernière intervention   186
     
    bonjour ;
    pour résoudre ce problème il faut un macro
    0
  4. zodiarck Messages postés 5 Statut Membre
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    ci 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
    0
  7. zodiarck Messages postés 5 Statut Membre
     
    Merci beaucoup
    çà va bien me servir.
    0