Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 TRIER PLAGE

KTM

XLDnaute Impliqué
Bonsoir Cher Forum
Je voudrais faire un tri de mes données et j'ai élaboré ce code:
VB:
Sub TRIER()
Dim Lig As Variant

Lig = Application.Match(0, Range("A4:A14"), 0) + 2
If IsError(Lig) Then
Range("E1").Value = 14
Range("A4:D14").Sort Key1:=Range("A4"), Order1:=xlAscending
Else
Range("E1").Value = Lig
Range("A4:D" & Lig).Sort Key1:=Range("A4"), Order1:=xlAscending
End If
End Sub

Mais il ya erreur lorsque ma plage A4:A14 ne contient pas 0
 

Pièces jointes

  • Classeur1.xlsm
    15.7 KB · Affichages: 9

job75

XLDnaute Barbatruc
Bonsoir KTM,

Quand Lig peut être une valeur d'erreur il ne faut pas lui ajouter 2, donc :
VB:
Sub TRIER()
Dim Lig As Variant
Lig = Application.Match(0, Range("A4:A14"), 0)
If IsError(Lig) Then
    Range("E1").Value = 14
    Range("A4:D14").Sort Key1:=Range("A4"), Order1:=xlAscending
Else
    Range("E1").Value = Lig + 2
    Range("A4:D" & Lig + 2).Sort Key1:=Range("A4"), Order1:=xlAscending
End If
End Sub
A+
 

KTM

XLDnaute Impliqué
Merci job75
C'est tres juste
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…