Probleme Macro Trier Filtrer une liste nommer

madtnt09

XLDnaute Junior
Bonjour le forum voici mon probleme,

Je tiens a mentionner que je suis debutant en Macro.

Jai enregistrer un macro pour ajouter des noms a des fichiers afin daccelerer la rentree de donnee.

'
' AJOUT Macro
' Comment ajouter un nom qui va au bas de la liste
'

'
Cells.Find(What:="LISTE", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
ActiveCell.Offset(3, 0).Range("A1").Select
Selection.EntireRow.Insert
Range("E1").Select
Selection.Copy
Range("A5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.Goto Reference:="LISTE_NOM"
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A3"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A3:Q10") .Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("E11").Select
Selection.ClearContents

En rouge se situe mon probleme dans la mecanique parce que apres avoir ajouter le "Nomz", la plage a trier est maintenant plus grande et doit etre de "A3:Q11".

Jai revisiter toutes les possibilites et je narrive pas a trouver.
Comment faire pour que la plage s<augmente automatiquement?

Merci a lavance en piece jointe un fichier test.
 

Pièces jointes

  • Testdajout.xlsm
    21.1 KB · Affichages: 30
  • Testdajout.xlsm
    21.1 KB · Affichages: 39
  • Testdajout.xlsm
    21.1 KB · Affichages: 35

chris

XLDnaute Barbatruc
Re : Probleme Macro Trier Filtrer une liste nommer

Bonjour

On peut

  • utiliser les tableaux (Mettre sous forme de tableau) et cela résout ce type de problème car le nom du tableau correspond toujour au nombre de ligne remplies
  • ou mettre A:Q avec Header à XlYes mais dans ce cas avec 2 lignes de titres cela ne va pas marcher...
  • Sinon voir end(xlup) à partir de la ligne 10000000 pour trouver la dernière ligne
 

madtnt09

XLDnaute Junior
Re : Probleme Macro Trier Filtrer une liste nommer

Salut chris et le forum,

Désolé pour la réponse tardive car de mon côté j'ai continuer de chercher la réponse à ce problème.

J'ai essayé avec ta solution chris, mais elle fonctionne à moitié en plus je dois pouvoir partager le fichier en question et avec des XML maps je ne peux le faire.

J'ai par contre continuer avec la 2e solution que tu m'as donné et je l'ai élaborer.
Voilà il suffit de de changer le Range par un plage nommé ex: Range("A2:Q10") = "Tableau" en incluant la ligne d'entête.
Et sur header mettre xlYes.
J'ai aussi changé la plage nommé de nom qui coresspondait à "LISTE_NOM" cette liste allait de A3:A10 et je l'ai changé pour inclure l'entête donc de A2:A10 ceci me permet de faire tous les ajustements nécessaires.

En suite le reste ce fait à merveille.

With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A3:Q10")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Merci

En piece jointe le fichier ajuster
 

Pièces jointes

  • Testdajout.xlsm
    22.3 KB · Affichages: 35
  • Testdajout.xlsm
    22.3 KB · Affichages: 35
  • Testdajout.xlsm
    22.3 KB · Affichages: 34

madtnt09

XLDnaute Junior
Re : Probleme Macro Trier Filtrer une liste nommer

Bonjour à tous,

Voici le code ajuster.


Application.Goto Reference:="LISTE_NOM"
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("TOT_PROD")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 891
Membres
103 404
dernier inscrit
sultan87