Macro de tri avec formules

Astrid -  
julia Namor Messages postés 532 Statut Membre -
Bonjour,

J'ai utilisé une macro de tri telle que

Sub MTrierIDT()

Dim rd As Range, ra As Range
Set rd = Range("'Ind. de transport'!B6").End(xlToRight)
Set ra = Range("'Ind. de transport'!B60")

Range(rd, ra).Select

Selection.Sort Key1:=Range("C7"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End Sub

Malheureusement dans mes colonnes qui sont triées par des macros j'ai des formules. Aussi quand j'utilise mon bouton, les formules apparaissent d'abord et ensuite mon tir par ordre alphabétique. Comment faire ?

En vous remerciant pour votre aide

2 réponses

  1. julia Namor Messages postés 532 Statut Membre 33
     
    Bonjour

    Est ce que ça te convient.

    https://www.cjoint.com/c/GBkqipupb1A

    Cordialent
    0
    1. astrid
       
      Bonjour,
      Non ca ne fonctionne pas. Lorsque je saisi des formules a la place des Z celles ci ce placent en premier.
      Les formules sont des si(recherchev) qui renvoient soit à du texte ou bien à " "
      Du coup quand elles renvoient à du texte vide, les cellules vides ce placent en premier dans le tri
      0
      1. julia Namor Messages postés 532 Statut Membre 33 > astrid
         
        Bonjour
        Les formules sont des si(recherchev) qui renvoient soit à du texte ou bien à " "
        Du coup quand elles renvoient à du texte vide, les cellules vides ce placent en premier dans le tri

        -Ceci me parait normal car les cellules liées ne sont pas incluses dans le tri et du coup c'est meme "dangereux" car ça fausse complétement tes calculs.
        L'idéal ce serait d'envoyer un fichier exemple fidéle pour que l'on voit ça/
        Il ya des solutions de tri tres possible mais c'est compliqué de se lancer à l'aveuglette.

        Dans l'attente
        Cdt
        0
  2. hich24 Messages postés 1686 Statut Membre 753
     
    Sub MTrierIDT()
    Application.ScreenUpdating = False

    Dim rd As Range, ra As Range
    Set rd = Range("'Ind. de transport'!B6").End(xlToRight)
    Set ra = Range("'Ind. de transport'!B60")

    Range(rd, ra).Select

    Selection.Sort Key1:=Range("C7"), Order1:=xlAscending, Header:=xlYes, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Application.ScreenUpdating = True

    End Sub
    -1
    1. astrid
       
      Bonjour,

      J'ai testé en rajoutant ces deux éléments ca ne change rien
      0