Tri des données Macros

Résolu
adum -  
eriiic Messages postés 25847 Statut Contributeur -
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
A voir également:

5 réponses

JCB40 Messages postés 3459 Statut Membre 469
 
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



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

Cordialement,
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
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

0
adum
 
Merci pour votre réponse, j'ai juste une question : nblig et Resize, cela signifie quoi ? Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

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