Tri des données Macros

Résolu
Bonjour,
Sur ma macros, j'aimerai faire un tri des données plus rapide que cette formule :

'tri des donnees
k = Worksheets("IMPORT").Range("A1").End(xlDown).Row
For i = 0 To k
j = 2
While j < endLine
m = Len(Worksheets("IMPORT").Cells(j, 1))
l = Len(Worksheets("IMPORT").Cells(j + 1, 1))
If (l < m) Then
Sheets("IMPORT").Rows(j + 1).Cut
Sheets("IMPORT").Rows(j).Insert
End If
j = j + 1
Wend
Next i

Avez-vous une idée ?
Merci d'avance

Cordialement,

Configuration: Windows / Chrome 88.0.4324.150

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,
    Un exemple de votre fichier avec explications serait le bienvenu.
    Pour transmettre un fichier,
    Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
    il faut passer par un site de pièce jointe tel que cjoint.com

    Allez sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse...
    Cordialement

    1. Merci pour votre aide, le lien est crée le voici : https://www.cjoint.com/c/KBhupi41roE

      Cordialement,
      1. Contributeur
        Bonjour,

        tu aurais pu mettre les explication en clair.
        Fais selon ce que j'ai compris :
        Sub trier()
            Dim nblig As Long
            nblig = Cells(Rows.Count, 2).End(xlUp).Row
            Columns(1).Insert Shift:=xlToRight
            Range("A1").Resize(nblig).FormulaR1C1 = "=LEN(RC[1])"
            [A:C].Resize(nblig).Sort Key1:=[A1], Order1:=xlAscending, Header:=xlNo
            Columns(1).EntireColumn.Delete
        End Sub

        eric

        1. Merci pour votre réponse, j'ai juste une question : nblig et Resize, cela signifie quoi ? Merci
          1. Contributeur
            Bonjour,

            nbliog est un nom de variable que tu choisis.
            Pour Resize faire F1 dessus et consulter l'aide.
            eric