Pb de tri d'une liste située sur une autre feuille à partir d'un Userform
4 réponses
Antoine
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via
une ComboBox, recueille le nom d'un pays.
Ce pays doit être ajouté en fin de liste sur une autre feuille constante
("Sommaire") en colonne L.
Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique
de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute
Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer
le nom de la feuille où j'étais pour la réactiver ensuite...
Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés
Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value
' classe les destinations enregistrées par ordre alphabétique
Range(Range(Sheets("Sommaire").[L1].Address),
Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select
' ou Range(Sheets("Sommaire").[L1].Address & ":" &
Sheets("Sommaire").[L65536].End(xlUp).Address).Select
Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address),
order1:=xlAscending
Range("L1").Select
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
JLuc
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour Antoine*,
Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _
.Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending
Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via
une ComboBox, recueille le nom d'un pays.
Ce pays doit être ajouté en fin de liste sur une autre feuille constante
("Sommaire") en colonne L.
Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique
de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute
Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer
le nom de la feuille où j'étais pour la réactiver ensuite...
Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés
Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value
' classe les destinations enregistrées par ordre alphabétique
Range(Range(Sheets("Sommaire").[L1].Address),
Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select
' ou Range(Sheets("Sommaire").[L1].Address & ":" &
Sheets("Sommaire").[L65536].End(xlUp).Address).Select
Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address),
order1:=xlAscending
Range("L1").Select
Merci à tous
Antoine
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs
et astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Antoine
Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au problème... Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" a écrit dans le message de news:
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au
problème...
Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.bca67d6100f90956.40692@free.fr.ns...
*Bonjour Antoine*,
Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _
.Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending
Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui,
via une ComboBox, recueille le nom d'un pays.
Ce pays doit être ajouté en fin de liste sur une autre feuille constante
("Sommaire") en colonne L.
Là où j'ai un petit problème, c'est pour faire le tri par ordre
alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à
ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir
auparavant enregistrer le nom de la feuille où j'étais pour la réactiver
ensuite...
Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés
Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value
' classe les destinations enregistrées par ordre alphabétique
Range(Range(Sheets("Sommaire").[L1].Address),
Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select
' ou Range(Sheets("Sommaire").[L1].Address & ":" &
Sheets("Sommaire").[L65536].End(xlUp).Address).Select
Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address),
order1:=xlAscending
Range("L1").Select
Merci à tous
Antoine
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et
astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Je viens de faire le test. Malheureusement, cela ne change rien au problème... Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" a écrit dans le message de news:
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
michdenis
Bonjour Antoine,
Ceci devrait très bien fonctionné :
Header:=xlYes -> signifie que la première ligne de la colonne contient une étiquette de colonne. XlNo si aucune
'------------------------------ Dim Sh As Worksheet Set Sh = Sheets("Sommaire") With Sh With .Range("L1:L" & .Range("L65536").End(xlUp).Row) .Sort key1:=Sh.Range("L2"), order1:=xlAscending, Header:=xlYes End With End With '------------------------------
Salutations!
"Antoine" a écrit dans le message de news: % Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au problème... Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" a écrit dans le message de news:
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Bonjour Antoine,
Ceci devrait très bien fonctionné :
Header:=xlYes -> signifie que la première
ligne de la colonne contient une étiquette de colonne.
XlNo si aucune
'------------------------------
Dim Sh As Worksheet
Set Sh = Sheets("Sommaire")
With Sh
With .Range("L1:L" & .Range("L65536").End(xlUp).Row)
.Sort key1:=Sh.Range("L2"), order1:=xlAscending, Header:=xlYes
End With
End With
'------------------------------
Salutations!
"Antoine" <awerelASUPPRIMER@mageos.com> a écrit dans le message de news: %23h58WjFIGHA.3100@tk2msftngp13.phx.gbl...
Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au
problème...
Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.bca67d6100f90956.40692@free.fr.ns...
*Bonjour Antoine*,
Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _
.Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending
Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui,
via une ComboBox, recueille le nom d'un pays.
Ce pays doit être ajouté en fin de liste sur une autre feuille constante
("Sommaire") en colonne L.
Là où j'ai un petit problème, c'est pour faire le tri par ordre
alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à
ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir
auparavant enregistrer le nom de la feuille où j'étais pour la réactiver
ensuite...
Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés
Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value
' classe les destinations enregistrées par ordre alphabétique
Range(Range(Sheets("Sommaire").[L1].Address),
Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select
' ou Range(Sheets("Sommaire").[L1].Address & ":" &
Sheets("Sommaire").[L65536].End(xlUp).Address).Select
Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address),
order1:=xlAscending
Range("L1").Select
Merci à tous
Antoine
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et
astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Header:=xlYes -> signifie que la première ligne de la colonne contient une étiquette de colonne. XlNo si aucune
'------------------------------ Dim Sh As Worksheet Set Sh = Sheets("Sommaire") With Sh With .Range("L1:L" & .Range("L65536").End(xlUp).Row) .Sort key1:=Sh.Range("L2"), order1:=xlAscending, Header:=xlYes End With End With '------------------------------
Salutations!
"Antoine" a écrit dans le message de news: % Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au problème... Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" a écrit dans le message de news:
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Antoine
Touché ! Coulé ! , comme on disait quand on faisait des batailles navales !
Comme je n'ai pas de ligne de titre, j'ai mis xlNo selon ton conseil, et cela marche parfaitement du 1er coup... Un conseil de pro !
Merci à toi michdenis, avec tout le plaisir que cela peut procurer de réussir à faire (non sans aide extérieure...), exactement ce que je pouvais souhaiter faire pour optimiser au mieux la procédure...
Antoine
"michdenis" a écrit dans le message de news: %
Bonjour Antoine,
Ceci devrait très bien fonctionné :
Header:=xlYes -> signifie que la première ligne de la colonne contient une étiquette de colonne. XlNo si aucune
'------------------------------ Dim Sh As Worksheet Set Sh = Sheets("Sommaire") With Sh With .Range("L1:L" & .Range("L65536").End(xlUp).Row) .Sort key1:=Sh.Range("L2"), order1:=xlAscending, Header:=xlYes End With End With '------------------------------
Salutations!
"Antoine" a écrit dans le message de news: % Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au problème... Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" a écrit dans le message de news:
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Touché ! Coulé !
, comme on disait quand on faisait des batailles navales !
Comme je n'ai pas de ligne de titre, j'ai mis xlNo selon ton conseil, et
cela marche parfaitement du 1er coup...
Un conseil de pro !
Merci à toi michdenis, avec tout le plaisir que cela peut procurer de
réussir à faire (non sans aide extérieure...), exactement ce que je pouvais
souhaiter faire pour optimiser au mieux la procédure...
Antoine
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23iraXLGIGHA.1032@TK2MSFTNGP11.phx.gbl...
Bonjour Antoine,
Ceci devrait très bien fonctionné :
Header:=xlYes -> signifie que la première
ligne de la colonne contient une étiquette de colonne.
XlNo si aucune
'------------------------------
Dim Sh As Worksheet
Set Sh = Sheets("Sommaire")
With Sh
With .Range("L1:L" & .Range("L65536").End(xlUp).Row)
.Sort key1:=Sh.Range("L2"), order1:=xlAscending, Header:=xlYes
End With
End With
'------------------------------
Salutations!
"Antoine" <awerelASUPPRIMER@mageos.com> a écrit dans le message de news:
%23h58WjFIGHA.3100@tk2msftngp13.phx.gbl...
Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au
problème...
Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.bca67d6100f90956.40692@free.fr.ns...
*Bonjour Antoine*,
Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _
.Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending
Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui,
via une ComboBox, recueille le nom d'un pays.
Ce pays doit être ajouté en fin de liste sur une autre feuille constante
("Sommaire") en colonne L.
Là où j'ai un petit problème, c'est pour faire le tri par ordre
alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf
à
ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir
auparavant enregistrer le nom de la feuille où j'étais pour la réactiver
ensuite...
Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés
Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value
' classe les destinations enregistrées par ordre alphabétique
Range(Range(Sheets("Sommaire").[L1].Address),
Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select
' ou Range(Sheets("Sommaire").[L1].Address & ":" &
Sheets("Sommaire").[L65536].End(xlUp).Address).Select
Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address),
order1:=xlAscending
Range("L1").Select
Merci à tous
Antoine
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et
astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
Touché ! Coulé ! , comme on disait quand on faisait des batailles navales !
Comme je n'ai pas de ligne de titre, j'ai mis xlNo selon ton conseil, et cela marche parfaitement du 1er coup... Un conseil de pro !
Merci à toi michdenis, avec tout le plaisir que cela peut procurer de réussir à faire (non sans aide extérieure...), exactement ce que je pouvais souhaiter faire pour optimiser au mieux la procédure...
Antoine
"michdenis" a écrit dans le message de news: %
Bonjour Antoine,
Ceci devrait très bien fonctionné :
Header:=xlYes -> signifie que la première ligne de la colonne contient une étiquette de colonne. XlNo si aucune
'------------------------------ Dim Sh As Worksheet Set Sh = Sheets("Sommaire") With Sh With .Range("L1:L" & .Range("L65536").End(xlUp).Row) .Sort key1:=Sh.Range("L2"), order1:=xlAscending, Header:=xlYes End With End With '------------------------------
Salutations!
"Antoine" a écrit dans le message de news: % Bonsoir Jean Luc
Je viens de faire le test. Malheureusement, cela ne change rien au problème... Je crois que je vais opter pour un "aller et retour" d'activation !
Merci à toi
Antoine
"JLuc" a écrit dans le message de news:
*Bonjour Antoine*, Sheets("Sommaire").Range("L1:L" & Range("L65536").End(xlUp).Row) _ .Sort key1:=Sheets("Sommaire").Range("L1"), order1:=xlAscending Ca devrait faire l'affaire, dis nous
Bonjour
Juste une petite question !
A partir d'une feuille "variable" du fichier, j'appelle un Userform qui, via une ComboBox, recueille le nom d'un pays. Ce pays doit être ajouté en fin de liste sur une autre feuille constante ("Sommaire") en colonne L. Là où j'ai un petit problème, c'est pour faire le tri par ordre alphabétique de cette ligne : le code qui suit, ne fonctionne pas, sauf à ce que j'ajoute Sheets("Sommaire").Activate, ce qui m'oblige à devoir auparavant enregistrer le nom de la feuille où j'étais pour la réactiver ensuite... Est-il possible d'éviter cette double activation, peut-être inutile ?
' ajoute la destination aux destinations déjà enregistrés Sheets("Sommaire").[L65536].End(xlUp).Offset(1) = Range("C8").Value ' classe les destinations enregistrées par ordre alphabétique Range(Range(Sheets("Sommaire").[L1].Address), Range(Sheets("Sommaire").[L65536].End(xlUp).Address)).Select ' ou Range(Sheets("Sommaire").[L1].Address & ":" & Sheets("Sommaire").[L65536].End(xlUp).Address).Select Selection.Sort key1:=Range(Sheets("Sommaire").[L1].Address), order1:=xlAscending Range("L1").Select
Merci à tous
Antoine
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS