-----Message d'origine-----
Bonsoir Jed,
D'après ce qu'il me raconte, Excel ne sait pas faire ça.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jed" a écrit dans
le message de news:
13b001c4d144$1a8399b0$
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
======================== =========================
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
======================== =========================
.
-----Message d'origine-----
Bonsoir Jed,
D'après ce qu'il me raconte, Excel ne sait pas faire ça.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jed" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:
13b001c4d144$1a8399b0$a501280a@phx.gbl...
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
======================== =========================
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
======================== =========================
.
-----Message d'origine-----
Bonsoir Jed,
D'après ce qu'il me raconte, Excel ne sait pas faire ça.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"Jed" a écrit dans
le message de news:
13b001c4d144$1a8399b0$
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
======================== =========================
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
======================== =========================
.
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
================================================ >
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
================================================ >
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
================================================ >
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
================================================ >
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
================================================ >
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
================================================ >
-----Message d'origine-----
Bonjour,
J'ai écrit le code suivant en me basant sur votre propre
code et
en utilisant les mêmes noms de plages nommées qui y
figurent.
Il n'y a plus qu'Ã le tester.
ATTENTION: testez sur une copie de votre classeur.
'**************************
Option Explicit
Sub Tri2Zones()
Dim A$
Dim R As Range
Dim R1 As Range
Dim R2 As Range
Dim var1
Dim var2
Dim nbLig1&
Dim nbLig2&
Dim nbCol&
Dim T()
Dim h&
Dim i&
Dim j&
On Error GoTo Erreur
A$ = ActiveSheet.Name
Set R = Range("Feuille_Fich")
If R <> 2 Then
Set R1 = Range("Lig_Detail")
R1.Sort Key1:=Range(R1.Address), _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:úlse, _
Orientation:=xlTopToBottom
Else
Set R1 = Range("Lig_Detail")
Set R2 = Range("Lig_Detail2")
var1 = R1
var2 = R2
If R1.Columns.Count <> R2.Columns.Count Then
MsgBox prompt:="Nombre de colonnes " & _
"différentes pour les 2 plages.", _
Title:="Programme stoppé"
Exit Sub
End If
nbLig1& = R1.Rows.Count
nbLig2& = R2.Rows.Count
nbCol& = R1.Columns.Count
ReDim T(1 To nbLig1& + nbLig2&, 1 To nbCol&)
For i& = 1 To nbLig1&
For j& = 1 To nbCol&
T(i&, j&) = var1(i&, j&)
Next j&
Next i&
h& = nbLig1&
For i& = 1 To nbLig2&
For j& = 1 To nbCol&
T(h& + i&, j&) = var2(i&, j&)
Next j&
Next i&
Application.ScreenUpdating = False
Sheets.Add before:=Sheets(1)
Set R = Range(Cells(1, 1), _
Cells(UBound(T, 1), UBound(T, 2)))
R = T
R.Sort Key1:=[a1], _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:úlse, _
Orientation:=xlTopToBottom
var1 = Range(Cells(1, 1), Cells(nbLig1&, nbCol&))
var2 = Range(Cells(1 + nbLig1&, 1), _
Cells(nbLig1& + nbLig2&, nbCol&))
Application.DisplayAlerts = False
Sheets(1).Delete
R1 = var1
R2 = var2
Sheets(A$).Activate
End If
Erreur:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
'**************************
Est-que ça vous convient ?
Cordialement.
PMO
Patrik MorangeBonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur
2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range
("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone
lig_detail
et ensuite lig_detail2, le problème c'est que c'est
pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
========================= ========================
"Etre débutant" a un avantage, contrairement à "Etre
Con",
c'est qu'on ne l'est qu'au début
========================= ========================
.
-----Message d'origine-----
Bonjour,
J'ai écrit le code suivant en me basant sur votre propre
code et
en utilisant les mêmes noms de plages nommées qui y
figurent.
Il n'y a plus qu'Ã le tester.
ATTENTION: testez sur une copie de votre classeur.
'**************************
Option Explicit
Sub Tri2Zones()
Dim A$
Dim R As Range
Dim R1 As Range
Dim R2 As Range
Dim var1
Dim var2
Dim nbLig1&
Dim nbLig2&
Dim nbCol&
Dim T()
Dim h&
Dim i&
Dim j&
On Error GoTo Erreur
A$ = ActiveSheet.Name
Set R = Range("Feuille_Fich")
If R <> 2 Then
Set R1 = Range("Lig_Detail")
R1.Sort Key1:=Range(R1.Address), _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
Else
Set R1 = Range("Lig_Detail")
Set R2 = Range("Lig_Detail2")
var1 = R1
var2 = R2
If R1.Columns.Count <> R2.Columns.Count Then
MsgBox prompt:="Nombre de colonnes " & _
"différentes pour les 2 plages.", _
Title:="Programme stoppé"
Exit Sub
End If
nbLig1& = R1.Rows.Count
nbLig2& = R2.Rows.Count
nbCol& = R1.Columns.Count
ReDim T(1 To nbLig1& + nbLig2&, 1 To nbCol&)
For i& = 1 To nbLig1&
For j& = 1 To nbCol&
T(i&, j&) = var1(i&, j&)
Next j&
Next i&
h& = nbLig1&
For i& = 1 To nbLig2&
For j& = 1 To nbCol&
T(h& + i&, j&) = var2(i&, j&)
Next j&
Next i&
Application.ScreenUpdating = False
Sheets.Add before:=Sheets(1)
Set R = Range(Cells(1, 1), _
Cells(UBound(T, 1), UBound(T, 2)))
R = T
R.Sort Key1:=[a1], _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom
var1 = Range(Cells(1, 1), Cells(nbLig1&, nbCol&))
var2 = Range(Cells(1 + nbLig1&, 1), _
Cells(nbLig1& + nbLig2&, nbCol&))
Application.DisplayAlerts = False
Sheets(1).Delete
R1 = var1
R2 = var2
Sheets(A$).Activate
End If
Erreur:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
'**************************
Est-que ça vous convient ?
Cordialement.
PMO
Patrik Morange
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur
2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range
("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone
lig_detail
et ensuite lig_detail2, le problème c'est que c'est
pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
========================= ========================
"Etre débutant" a un avantage, contrairement à "Etre
Con",
c'est qu'on ne l'est qu'au début
========================= ========================
.
-----Message d'origine-----
Bonjour,
J'ai écrit le code suivant en me basant sur votre propre
code et
en utilisant les mêmes noms de plages nommées qui y
figurent.
Il n'y a plus qu'Ã le tester.
ATTENTION: testez sur une copie de votre classeur.
'**************************
Option Explicit
Sub Tri2Zones()
Dim A$
Dim R As Range
Dim R1 As Range
Dim R2 As Range
Dim var1
Dim var2
Dim nbLig1&
Dim nbLig2&
Dim nbCol&
Dim T()
Dim h&
Dim i&
Dim j&
On Error GoTo Erreur
A$ = ActiveSheet.Name
Set R = Range("Feuille_Fich")
If R <> 2 Then
Set R1 = Range("Lig_Detail")
R1.Sort Key1:=Range(R1.Address), _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:úlse, _
Orientation:=xlTopToBottom
Else
Set R1 = Range("Lig_Detail")
Set R2 = Range("Lig_Detail2")
var1 = R1
var2 = R2
If R1.Columns.Count <> R2.Columns.Count Then
MsgBox prompt:="Nombre de colonnes " & _
"différentes pour les 2 plages.", _
Title:="Programme stoppé"
Exit Sub
End If
nbLig1& = R1.Rows.Count
nbLig2& = R2.Rows.Count
nbCol& = R1.Columns.Count
ReDim T(1 To nbLig1& + nbLig2&, 1 To nbCol&)
For i& = 1 To nbLig1&
For j& = 1 To nbCol&
T(i&, j&) = var1(i&, j&)
Next j&
Next i&
h& = nbLig1&
For i& = 1 To nbLig2&
For j& = 1 To nbCol&
T(h& + i&, j&) = var2(i&, j&)
Next j&
Next i&
Application.ScreenUpdating = False
Sheets.Add before:=Sheets(1)
Set R = Range(Cells(1, 1), _
Cells(UBound(T, 1), UBound(T, 2)))
R = T
R.Sort Key1:=[a1], _
Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:úlse, _
Orientation:=xlTopToBottom
var1 = Range(Cells(1, 1), Cells(nbLig1&, nbCol&))
var2 = Range(Cells(1 + nbLig1&, 1), _
Cells(nbLig1& + nbLig2&, nbCol&))
Application.DisplayAlerts = False
Sheets(1).Delete
R1 = var1
R2 = var2
Sheets(A$).Activate
End If
Erreur:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
'**************************
Est-que ça vous convient ?
Cordialement.
PMO
Patrik MorangeBonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur
2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range
("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone
lig_detail
et ensuite lig_detail2, le problème c'est que c'est
pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
========================= ========================
"Etre débutant" a un avantage, contrairement à "Etre
Con",
c'est qu'on ne l'est qu'au début
========================= ========================
.
-----Message d'origine-----
Bonjour,
Il faut le faire en deux fois :
Concrètement à partir de la feuille essaye
Colonnes A à D
Sélectionner la colonne C et faire Insertion - Saut de
page
Sélectionner les colonnes A et B faire un tri sur A
Sélectionner les colonnes C et D faire un tri sur C
C'est ce que tu cherches ?
Bidouille
"Jed" a écrit dans
le message de news:
13b001c4d144$1a8399b0$
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
======================== =========================
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
======================== =========================
.
-----Message d'origine-----
Bonjour,
Il faut le faire en deux fois :
Concrètement à partir de la feuille essaye
Colonnes A à D
Sélectionner la colonne C et faire Insertion - Saut de
page
Sélectionner les colonnes A et B faire un tri sur A
Sélectionner les colonnes C et D faire un tri sur C
C'est ce que tu cherches ?
Bidouille
"Jed" <anonymous@discussions.microsoft.com> a écrit dans
le message de news:
13b001c4d144$1a8399b0$a501280a@phx.gbl...
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
======================== =========================
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
======================== =========================
.
-----Message d'origine-----
Bonjour,
Il faut le faire en deux fois :
Concrètement à partir de la feuille essaye
Colonnes A à D
Sélectionner la colonne C et faire Insertion - Saut de
page
Sélectionner les colonnes A et B faire un tri sur A
Sélectionner les colonnes C et D faire un tri sur C
C'est ce que tu cherches ?
Bidouille
"Jed" a écrit dans
le message de news:
13b001c4d144$1a8399b0$
Bonjour a tous,
J'aimerai savoir s'il est possibile de fair un tri sur 2
zones nommées non contigues. Je fais mes tri par ces
codes:
Range("Lig_Detail").Select
Selection.Sort Key1:=Range("G18:G51"),Order1:=xlAscending,
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
If Range("Feuille_Fich").Value = 2 Then
Range("Lig_Detail2").Select
Selection.Sort Key1:=Range
("G82:G115"),Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
End If
Ca fonctionne bien mais je tri d'abord ma zone lig_detail
et ensuite lig_detail2, le problème c'est que c'est pas
trier sur l'ensemble des deux zones non contigues :-((((
Est ce faisable par vba ?
Merci d'avance de me mettre sur une voie .
Cdlt
Jed
======================== =========================
"Etre débutant" a un avantage, contrairement à "Etre Con",
c'est qu'on ne l'est qu'au début
======================== =========================
.