Macro pour sélectionner tableau

Résolu/Fermé
mchotard Messages postés 425 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 30 octobre 2024 - 10 mars 2023 à 14:47
mchotard Messages postés 425 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 30 octobre 2024 - 10 mars 2023 à 17:36

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

A voir également:

5 réponses

cousinhub29 Messages postés 955 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 15 novembre 2024 344
10 mars 2023 à 15:09

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


0
PHILOU10120 Messages postés 6393 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 9 octobre 2024 810
10 mars 2023 à 16:13

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


0
mchotard Messages postés 425 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 30 octobre 2024 39
10 mars 2023 à 16:56

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

0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
10 mars 2023 à 17:30

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

0

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

Posez votre question
mchotard Messages postés 425 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 30 octobre 2024 39
10 mars 2023 à 17:36

Formidable ALS35

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

Grand merci à vous tous.

mchotard

0