Sélectionner des lignes

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour à tous,
je souhaiterais pouvoir créer une macro qui ferait un tri sur des lignes sélectionnées.
exemple, j'ai un tableau de 14 colonnes et x lignes.
dans les 2 premières cellules il y a des formules permettant de mettre à jour les feuilles mais parfois je dois ajouter une nouvelle valeur dans les 2 cellules.
la macro de la première feuille fonctionne parfaitement mais ne marche pas sur les autres feuilles du fait surement de la formules dans les cellules.
je vous joins le classeur en feuille janvier la macro fonctionne en feuille avril, mes données se retrouvent en bas du tableau
Le lien : https://www.cjoint.com/c/CKEtzfn0lcH
merci à tous d'avance

3 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    Essayez ceci, valable pour toutes les feuilles.
    Sub Tri()
    Application.ScreenUpdating = False
    FeuilleActive = ActiveSheet.Name
    DerLig = [A1].End(xlDown).Row
    For i = 2 To DerLig
    If Cells(i, 1) = "" Then
    DerLig = i - 1
    Exit For
    End If
    Next i
    ActiveWorkbook.Worksheets(FeuilleActive).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(FeuilleActive).Sort.SortFields.Add Key:=Range("B2:B" & DerLig) _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(FeuilleActive).Sort
    .SetRange Range("A1:N" & DerLig)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    End Sub
    cdlt
    0
  2. Utilisateur anonyme
     
    Bonjour et merci,
    le hic, lorsque j'applique la macro, mes feuilles n'étant pas identiques, certaines données disparaissent.
    0
  3. Utilisateur anonyme
     
    Re bonjour et remerci,
    En fait, ça marche.
    Il ne faut surtout pas revenir en arrière apparemment.
    Merci
    0