je tourne en rond sur un problème que je croyais simple et je ne trouve
rien (ou je cherche mal) sur le net :
Soit une seule série de valeurs numériques, mais disposées en plusieurs
colonnes !!
Ex :
45 25 47
74 10 63
12 78 4
10 13 15
Je voudrais les trier en ordre croissant pour obtenir :
4 13 47
10 15 63
10 25 74
12 45 78
Vous me direz qu'il faut avoir l'esprit tordu pour organiser les données
d'une façon aussi peu propice à leur traitement, mais cela me
permettrait de les imprimer facilement sur une seule feuille A4.
S'il n'y a pas de solution simple, je vais réorganiser mes données en
une seule colonne. Là plus aucun problème pour les traiter, mais pour
les imprimer ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
stéphane
Bonjour,
le plus simple est de mettre les données sur une seule colonne, puis de faire une feuille pour l'impression :
par exemple dans la feuille2 d'impression mettre en colonne A une référence à la feuille1 cellule A1 à A4 , En colonne B référence à A5 à A8 , et ainsi de suite .........
Stéphane
"Didier" a écrit dans le message de news: 48e1d432$0$859$
Bonjour,
je tourne en rond sur un problème que je croyais simple et je ne trouve rien (ou je cherche mal) sur le net : Soit une seule série de valeurs numériques, mais disposées en plusieurs colonnes !! Ex : 45 25 47 74 10 63 12 78 4 10 13 15
Je voudrais les trier en ordre croissant pour obtenir :
4 13 47 10 15 63 10 25 74 12 45 78
Vous me direz qu'il faut avoir l'esprit tordu pour organiser les données d'une façon aussi peu propice à leur traitement, mais cela me permettrait de les imprimer facilement sur une seule feuille A4. S'il n'y a pas de solution simple, je vais réorganiser mes données en une seule colonne. Là plus aucun problème pour les traiter, mais pour les imprimer ...
Si quelqu'un a une idée je suis preneur ... Merci
Bonjour,
le plus simple est de mettre les données sur une seule colonne, puis de
faire une feuille pour l'impression :
par exemple dans la feuille2 d'impression mettre en colonne A une référence
à la feuille1 cellule A1 à A4 , En colonne B référence à A5 à A8 , et ainsi
de suite .........
Stéphane
"Didier" <dhirou@free.fr> a écrit dans le message de news:
48e1d432$0$859$ba4acef3@news.orange.fr...
Bonjour,
je tourne en rond sur un problème que je croyais simple et je ne trouve
rien (ou je cherche mal) sur le net :
Soit une seule série de valeurs numériques, mais disposées en plusieurs
colonnes !!
Ex :
45 25 47
74 10 63
12 78 4
10 13 15
Je voudrais les trier en ordre croissant pour obtenir :
4 13 47
10 15 63
10 25 74
12 45 78
Vous me direz qu'il faut avoir l'esprit tordu pour organiser les données
d'une façon aussi peu propice à leur traitement, mais cela me permettrait
de les imprimer facilement sur une seule feuille A4.
S'il n'y a pas de solution simple, je vais réorganiser mes données en une
seule colonne. Là plus aucun problème pour les traiter, mais pour les
imprimer ...
le plus simple est de mettre les données sur une seule colonne, puis de faire une feuille pour l'impression :
par exemple dans la feuille2 d'impression mettre en colonne A une référence à la feuille1 cellule A1 à A4 , En colonne B référence à A5 à A8 , et ainsi de suite .........
Stéphane
"Didier" a écrit dans le message de news: 48e1d432$0$859$
Bonjour,
je tourne en rond sur un problème que je croyais simple et je ne trouve rien (ou je cherche mal) sur le net : Soit une seule série de valeurs numériques, mais disposées en plusieurs colonnes !! Ex : 45 25 47 74 10 63 12 78 4 10 13 15
Je voudrais les trier en ordre croissant pour obtenir :
4 13 47 10 15 63 10 25 74 12 45 78
Vous me direz qu'il faut avoir l'esprit tordu pour organiser les données d'une façon aussi peu propice à leur traitement, mais cela me permettrait de les imprimer facilement sur une seule feuille A4. S'il n'y a pas de solution simple, je vais réorganiser mes données en une seule colonne. Là plus aucun problème pour les traiter, mais pour les imprimer ...
Si quelqu'un a une idée je suis preneur ... Merci
JPMonnier
Bonjour, voici une proc qui le fait mais un peu compliqué valeurs pacées en a2: c5 pour l'exemple
Sub Tri() x = 2: y = 5 nb1 = Application.WorksheetFunction.CountA(Range("a2:c5")) Do While nb1 <> 0 For Each n In [a2:c5] c = c + 1
If n = Application.WorksheetFunction.Min(Range("a2:c5")) Then Cells(x, y) = n x = x + 1 n.Clear nb1 = Application.WorksheetFunction.CountA(Range("a2:c5")) If x = 6 Then x = 2: y = y + 1 End If End If Next Loop Range("E2:G5").Select Application.CutCopyMode = False Selection.Copy Range("A2").Select ActiveSheet.Paste Range("E2:G5").Select Application.CutCopyMode = False Selection.ClearContents Range("A2").Select End Sub -- Cordialement
"Didier" a écrit dans le message de news:48e1d432$0$859$
Bonjour,
je tourne en rond sur un problème que je croyais simple et je ne trouve rien (ou je cherche mal) sur le net : Soit une seule série de valeurs numériques, mais disposées en plusieurs colonnes !! Ex : 45 25 47 74 10 63 12 78 4 10 13 15
Je voudrais les trier en ordre croissant pour obtenir :
4 13 47 10 15 63 10 25 74 12 45 78
Vous me direz qu'il faut avoir l'esprit tordu pour organiser les données d'une façon aussi peu propice à leur traitement, mais cela me permettrait de les imprimer facilement sur une seule feuille A4. S'il n'y a pas de solution simple, je vais réorganiser mes données en une seule colonne. Là plus aucun problème pour les traiter, mais pour les imprimer ...
Si quelqu'un a une idée je suis preneur ... Merci
Bonjour, voici une proc qui le fait mais un peu compliqué
valeurs pacées en a2: c5 pour l'exemple
Sub Tri()
x = 2: y = 5
nb1 = Application.WorksheetFunction.CountA(Range("a2:c5"))
Do While nb1 <> 0
For Each n In [a2:c5]
c = c + 1
If n = Application.WorksheetFunction.Min(Range("a2:c5")) Then
Cells(x, y) = n
x = x + 1
n.Clear
nb1 = Application.WorksheetFunction.CountA(Range("a2:c5"))
If x = 6 Then
x = 2: y = y + 1
End If
End If
Next
Loop
Range("E2:G5").Select
Application.CutCopyMode = False
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
Range("E2:G5").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A2").Select
End Sub
--
Cordialement
jpmonnier-nospam@neuf.fr
"Didier" <dhirou@free.fr> a écrit dans le message de
news:48e1d432$0$859$ba4acef3@news.orange.fr...
Bonjour,
je tourne en rond sur un problème que je croyais simple et je ne trouve
rien (ou je cherche mal) sur le net :
Soit une seule série de valeurs numériques, mais disposées en plusieurs
colonnes !!
Ex :
45 25 47
74 10 63
12 78 4
10 13 15
Je voudrais les trier en ordre croissant pour obtenir :
4 13 47
10 15 63
10 25 74
12 45 78
Vous me direz qu'il faut avoir l'esprit tordu pour organiser les données
d'une façon aussi peu propice à leur traitement, mais cela me permettrait
de les imprimer facilement sur une seule feuille A4.
S'il n'y a pas de solution simple, je vais réorganiser mes données en une
seule colonne. Là plus aucun problème pour les traiter, mais pour les
imprimer ...
Bonjour, voici une proc qui le fait mais un peu compliqué valeurs pacées en a2: c5 pour l'exemple
Sub Tri() x = 2: y = 5 nb1 = Application.WorksheetFunction.CountA(Range("a2:c5")) Do While nb1 <> 0 For Each n In [a2:c5] c = c + 1
If n = Application.WorksheetFunction.Min(Range("a2:c5")) Then Cells(x, y) = n x = x + 1 n.Clear nb1 = Application.WorksheetFunction.CountA(Range("a2:c5")) If x = 6 Then x = 2: y = y + 1 End If End If Next Loop Range("E2:G5").Select Application.CutCopyMode = False Selection.Copy Range("A2").Select ActiveSheet.Paste Range("E2:G5").Select Application.CutCopyMode = False Selection.ClearContents Range("A2").Select End Sub -- Cordialement
"Didier" a écrit dans le message de news:48e1d432$0$859$
Bonjour,
je tourne en rond sur un problème que je croyais simple et je ne trouve rien (ou je cherche mal) sur le net : Soit une seule série de valeurs numériques, mais disposées en plusieurs colonnes !! Ex : 45 25 47 74 10 63 12 78 4 10 13 15
Je voudrais les trier en ordre croissant pour obtenir :
4 13 47 10 15 63 10 25 74 12 45 78
Vous me direz qu'il faut avoir l'esprit tordu pour organiser les données d'une façon aussi peu propice à leur traitement, mais cela me permettrait de les imprimer facilement sur une seule feuille A4. S'il n'y a pas de solution simple, je vais réorganiser mes données en une seule colonne. Là plus aucun problème pour les traiter, mais pour les imprimer ...
Si quelqu'un a une idée je suis preneur ... Merci
FFO
Salut Didier
Je te propose ce code qui rapporte toutes tes données dans la 1° colonne libre de droite pour les trier puis les redistribuers ainsi triées dans les colonnes suivantes avec la même présentation que tes colonnes sources Colonne A B C à traiter sur 4 lignes Colonne D toutes les données triées Colonne E F G données traitées sur 4 lignes
Colonne = Mid(Range("IV1").End(xlToLeft).Offset(0, 1).Address, 2, 1) Range("A1").Activate Do While ActiveCell <> "" Range(Range(Colonne & "65535").End(xlUp).Offset(1, 0).Address, Colonne & Range(Colonne & "65535").End(xlUp).Row + Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row).Value = Range(Cells(1, ActiveCell.Column).Address, Range(Cells(65535, ActiveCell.Column).Address).End(xlUp)).Value ActiveCell.Offset(0, 1).Activate Loop Columns(Colonne & ":" & Colonne).Sort Key1:=Range(Colonne & "1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Range("A1").Activate i = 1 Ligne = 0 Do While ActiveCell <> "" Range(Cells(1, Range(Colonne & "1").Column + i).Address, Cells(Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row, Range(Colonne & "1").Column + i).Address).Value = Range(Colonne & Ligne + 1, Colonne & Ligne + Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row).Value i = i + 1 Ligne = Ligne + Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row ActiveCell.Offset(0, 1).Activate Loop
Celà devrait convenir Dis moi !!!!
Salut Didier
Je te propose ce code qui rapporte toutes tes données dans la 1° colonne
libre de droite pour les trier puis les redistribuers ainsi triées dans les
colonnes suivantes avec la même présentation que tes colonnes sources
Colonne A B C à traiter sur 4 lignes
Colonne D toutes les données triées
Colonne E F G données traitées sur 4 lignes
Colonne = Mid(Range("IV1").End(xlToLeft).Offset(0, 1).Address, 2, 1)
Range("A1").Activate
Do While ActiveCell <> ""
Range(Range(Colonne & "65535").End(xlUp).Offset(1, 0).Address, Colonne &
Range(Colonne & "65535").End(xlUp).Row + Range(Cells(65535,
ActiveCell.Column).Address).End(xlUp).Row).Value = Range(Cells(1,
ActiveCell.Column).Address, Range(Cells(65535,
ActiveCell.Column).Address).End(xlUp)).Value
ActiveCell.Offset(0, 1).Activate
Loop
Columns(Colonne & ":" & Colonne).Sort Key1:=Range(Colonne & "1"),
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Activate
i = 1
Ligne = 0
Do While ActiveCell <> ""
Range(Cells(1, Range(Colonne & "1").Column + i).Address,
Cells(Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row,
Range(Colonne & "1").Column + i).Address).Value = Range(Colonne & Ligne + 1,
Colonne & Ligne + Range(Cells(65535,
ActiveCell.Column).Address).End(xlUp).Row).Value
i = i + 1
Ligne = Ligne + Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row
ActiveCell.Offset(0, 1).Activate
Loop
Je te propose ce code qui rapporte toutes tes données dans la 1° colonne libre de droite pour les trier puis les redistribuers ainsi triées dans les colonnes suivantes avec la même présentation que tes colonnes sources Colonne A B C à traiter sur 4 lignes Colonne D toutes les données triées Colonne E F G données traitées sur 4 lignes
Colonne = Mid(Range("IV1").End(xlToLeft).Offset(0, 1).Address, 2, 1) Range("A1").Activate Do While ActiveCell <> "" Range(Range(Colonne & "65535").End(xlUp).Offset(1, 0).Address, Colonne & Range(Colonne & "65535").End(xlUp).Row + Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row).Value = Range(Cells(1, ActiveCell.Column).Address, Range(Cells(65535, ActiveCell.Column).Address).End(xlUp)).Value ActiveCell.Offset(0, 1).Activate Loop Columns(Colonne & ":" & Colonne).Sort Key1:=Range(Colonne & "1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Range("A1").Activate i = 1 Ligne = 0 Do While ActiveCell <> "" Range(Cells(1, Range(Colonne & "1").Column + i).Address, Cells(Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row, Range(Colonne & "1").Column + i).Address).Value = Range(Colonne & Ligne + 1, Colonne & Ligne + Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row).Value i = i + 1 Ligne = Ligne + Range(Cells(65535, ActiveCell.Column).Address).End(xlUp).Row ActiveCell.Offset(0, 1).Activate Loop
Celà devrait convenir Dis moi !!!!
Didier
Re bonjour,
Je viens de tester les 2 procédures fournies par Stéphane et JPMonnier, cela fonctionne très bien, avec cela je devrais pouvoir adapter le code à ma feuille. Merci pour votre aide. Didier
Re bonjour,
Je viens de tester les 2 procédures fournies par Stéphane et JPMonnier,
cela fonctionne très bien, avec cela je devrais pouvoir adapter le code
à ma feuille.
Merci pour votre aide.
Didier
Je viens de tester les 2 procédures fournies par Stéphane et JPMonnier, cela fonctionne très bien, avec cela je devrais pouvoir adapter le code à ma feuille. Merci pour votre aide. Didier