Macro pour sélectionner tableau

Résolu

Bonjour,

J'ai cette macro qui fonctionne, mais mon problème est que si je rajoute des lignes, il ne les prend pas en compte car il ne sélectionne que les lignes de 2 à 12 mais pas au delà. Or mon tableau est susceptible de s'allonger.

Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Add2 Key:=Range("A2:A12") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil2").Sort
        .SetRange Range("A1:G12")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A2").Select

Merci pour votre aide

mchotard
Windows / Chrome 110.0.0.0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Formidable ALS35

    Pourquoi chercher midi à 14 h alors que c'est tout simple et ça fonctionne.

    Grand merci à vous tous.

    mchotard

    1. Bonjour,

      Essaie peut-être en remplaçant ton code par celui-ci :

          Range("A1").CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending, Header:=xlYes
          Range("A2").Select
      

      Cordialement

      1. Merci pour ces deux réponses. Je tiens compte des conseils, et j'utilise personnellement les tableaux structurés, mais je travaille pour une personne qui débute dans excel et il lui faut des choses simples à utiliser je dois faire avec!!.

        J'ai bien adapté les conseils de Philou10120, et j'ai un problème de débocage à .apply ?

        Désolé

        mchotard

        1. Contributeur

          Bonjour Mochtard

          Attribuez un nom champ A1:a12 pour l'utiliser dans la macro

          Même chose pour A1:G12

          Quand vous ajoutez des lignes les insérer  avant la ligne 12

          Puis vérifier en sélectionnant le champ le nom s'affiche dans la zone à coté de la barre de formule


          1. Bonjour,

            C'est dommage que tu ne tiennes pas compte des conseils...

            L'utilisation des Tableaux Structurés t'affranchirait de tous ces problèmes de dimension, nom, etc...

            Et si tu enregistres ta macro via l'enregistreur, et effectuant tes tris dans un TS, tu auras un code valable tout le temps...

            Bon courage