Tri d'un tableau a partir d'un autre fichier excel

frouipop

XLDnaute Nouveau
Bonjour a tous,

Je viens à vous car j'ai un petit souci, j'ai une macro qui ouvre successivement d'autre classeur réalise quelque opérations puis les referme. Tout cela marche très bien sauf que je voudrais pouvoir trier des colonnes par ordre croissants dans les fichiers que j'ouvre pour ce faire j'ai taper le code suivant :

ws.Range("K8:L10007).Select
Selection.Sort Key1:=ws.Range("K8"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

quand je le tape dans une macro dans mon fichier a ouvrir ca marche bien (j'ai eu ce code en enregistrant une macro) mais quand je le mets dans mon autre fichier ca ne marche pas du tout.


Est ce que vous avez une idée d'explication?

Merci d'avance
 

job75

XLDnaute Barbatruc
Re : Tri d'un tableau a partir d'un autre fichier excel

Bonjour frouipop,

Il faut que le fichier ("toto.xls") soit indiqué, et bien sûr que la feuille ws soit définie préalablement pour ce fichier.

Il est inutile de sélectionner quoi que ce soit :

Code:
With Workbooks("toto.xls").ws
.Range("K8:L10007").Sort Key1:=.Range("K8"), Order1:=xlAscending, Header:=xlGuess
End With

A+
 

frouipop

XLDnaute Nouveau
Re : Tri d'un tableau a partir d'un autre fichier excel

J'ai préalablement défini ws comme suit :

Code:
FilePath = ThisWorkbook.Worksheets("Sheet1").Range("A2").Value
    str_FileName = ThisWorkbook.Worksheets("Sheet1").Range("A" & i + 5).Value
    FilePath = FilePath & str_FileName
    
    Set wb = Workbooks.Open(FilePath)
    Set ws = wb.Worksheets("Feuil1")
    ws.Activate

Ensuite j'ai mis comme tu m'as dit :

Code:
With Workbooks(FilePath).ws
    .Range("K8:L10007").Sort Key1:=.Range("K8"), Order1:=xlAscending, Header:=xlGuess
    End With

Erreur d'éxécution 9

Et il me répond : Erreur d'éxécution 9 l'indice n'appartient pas à la séléction.

Une idée sur la question?
 

job75

XLDnaute Barbatruc
Re : Tri d'un tableau a partir d'un autre fichier excel

Re,

Workbooks ne peut avoir comme indice un chemin d'accès, ceci est incorrect :

Code:
Workbooks([COLOR="Red"]FilePath[/COLOR])

Il faut uniquement le nom du fichier.

Edit : dans mon exemple, vous pouvez écrire simplement (pas besoin de ws) :

With Workbooks("toto.xls").Worksheets("Feuil1")

Bonne continuation.
 
Dernière édition:

frouipop

XLDnaute Nouveau
Re : Tri d'un tableau a partir d'un autre fichier excel

Bonjour,

en fait je n'y arrivais pas car dans le fichier que je voulais trier il y avait un groupement de ligne et donc excel ne triais que celle qui était apparente. Du coup j'ai fait un copier coller un peu plus loin dans la feuille et ca marche.

Merci pour votre aide
 

Discussions similaires

Statistiques des forums

Discussions
312 800
Messages
2 092 231
Membres
105 297
dernier inscrit
Cadnov