Macro pour sélectionner tableau
Résolumchotard Messages postés 491 Statut Membre -
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
- Macro pour sélectionner tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
5 réponses
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question