Trie de colonnes séparées

flo2002

XLDnaute Impliqué
Je suis à bout j'ai essayer tout un tas de code mais en vain.
Je n'arrive pas à faire un trie avec pour base une colonne B mais dont la plage n'est pas continu.

code actuel:


Range('b9:fw300').Select
Selection.Sort Key1:=Range('B9'), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

et je voudrais que ca ressemble à ca:


Range('b9:d300, g9:g300,etc').Select
Selection.Sort Key1:=Range('B9'), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom


merci de votre aide par avance
 

Temjeh

XLDnaute Accro
Supporter XLD
Bonjour

Oui flo ce code te trouble car j'ai vu ton autre message recemment. Non je ne pense pas que c'est possible sauf en transfèrant temporairement tes données dans deux col adjacente, de les trier et ensuite de les ramener.

À moins que...

Temjeh

Message édité par: Temjeh, à: 10/05/2006 12:31
 

flo2002

XLDnaute Impliqué
sinon je ne vois qu'une seul solution:

je fais le trie en sachant que mes fomules ne veulent plus rien dire et ensuite je copie une ligne de formule juste que j'affecte au autre ligne.

Mon probleme est donc ici de savoir comment je peut copier la premiere ligne et la coller a toute mes lignes du tableau?

Range('b65536').End(xlUp).EntireRow.Select
Selection.Copy
Range('b65536').End(xlUp).Offset(1, -1).Select
ActiveSheet.Paste

je pense que la base pourrai etre celle la.
 

Temjeh

XLDnaute Accro
Supporter XLD
Ptêtre que tu peut temporairement masquer les cols entre:

Columns('C:F').Select
Selection.EntireColumn.Hidden = True
Range('b9:g300').Select
Selection.Sort Key1:=Range('B9'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Selection.EntireColumn.Hidden = False

Temjeh
 

flo2002

XLDnaute Impliqué
mon probleme est que certaine colonne sont deja masquer et d'autre non(cela depend du mois en cours)

je cherche donc maintenant à copier une cellule en c9 puis à la coller sur la meme colonne mais jusqu'à la fin du tableau (ex: c10:c50)


voici mon debut de code, j'y travail

Range('c9').Select
Selection.Copy
range (
 

flo2002

XLDnaute Impliqué
Range('c9').Select
Selection.Copy
Range('b10' & 'b65536').End(xlUp).Offset(0, 1).Select
ActiveSheet.Paste

vous pensez quoi de ce code pour mon pb?
sachant que je doit le faire sur les n colonnes qui ont une formule!
 

flo2002

XLDnaute Impliqué
je pense avoir trouver une solution mais j'ai besoin de votre aide sur un point

Range('c9').Select
Selection.Copy
Range('c10:c65536').End(xlUp).Offset(0, 1).Select
ActiveSheet.Paste

Range('e9').Select
Selection.Copy
Range('e10:e65536').End(xlUp).Offset(0, 3).Select
ActiveSheet.Paste


je voudrai qu'il selectionne c9 et le copie (ca c'est bon)
ensuite qu'il selectionne la plage allant de c10 à premiere celulle vide (non incluse) et qu'il colle.

Est ce impossible, suis je bien parti?
Le pb doit etre dans c10:c65536...
 

flo2002

XLDnaute Impliqué
selectionner une plage de cellule fixe à fin tab

Range('c9').Select
Selection.Copy
Range('c10:c65536').End(xlUp).Offset(0, 0).Select
ActiveSheet.Paste

Je sens que j'y suis presque.
Comment lui dire de selectionner non pas la derniere ligne du tableau mais jusqu'à la derniere ligne?
 

flo2002

XLDnaute Impliqué
Re:selectionner une plage de cellule fixe à fin tab

peut etre je devrais utiliser ca:

Sub RecopieIncrementee()
Set PlageSource = Worksheets('Feuil1').Range('A1:A2')
' Effectue une recopie incrémentée de A1 à A20
Set PlageARemplir = Worksheets('Feuil1').Range('A1:A20')
PlageSource.AutoFill Destination:=PlageARemplir
End Sub
 

flo2002

XLDnaute Impliqué
je fais passer un morceau de fichier pour etre peut etre plus clair. [file name=forum_20060510142446.zip size=51150]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/forum_20060510142446.zip[/file]
 

Pièces jointes

  • forum_20060510142446.zip
    50 KB · Affichages: 20

ERIC S

XLDnaute Barbatruc
re

quand tu fais 'ajouter une ligne', tu ne fais pas de tri alors je ne comprends pas ton problème

par contre tu as des données ligne 1008 sur le fichier envoyé et ton ajout de ligne se fait donc en 1009, normal?

A+
 

flo2002

XLDnaute Impliqué
non ce n'était pas normal.
En faite je crois que j'ai compris et ca a l'air de marcher mais je demande confirmantion:

j'ai enlever dans mes formules ce qui était entre [] qui ne servait à rien puisque appelais la feuille ou se situe la formule.

et depuis ca a l'air de marcher

merci
 

Discussions similaires

Réponses
11
Affichages
453

Statistiques des forums

Discussions
312 333
Messages
2 087 375
Membres
103 529
dernier inscrit
gonzi