Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Désélection aprés tri VBA sur une zone définie

4 réponses
Avatar
géjoun
Bonjour,

J'utilise dasn une feuille de calcul un tri en VBA (ordre croissant sur
plusieurs lignes), sur une plage nommée; mais lorsque le tri est terminé,
toute la plage nommée reste sélectionnée.
Existe-t'il un code pour désélectionner cette plage à la fin du tri?

Merci!

--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../

4 réponses

Avatar
Yvan
Bonjour Géjoun

Pour déselectionner la plage, tu sélectionne autre chose (Range("A1").Select par
exemple).

Ceci dit, tu n'es pas obligé de sélectionner la plage pour trier.

Au lieu de:

Range(MaPlage).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, .......

Tu peux faire directement:

Range(MaPlage).Sort Key1:=Range("A1"), Order1:=xlAscending, .......

Cà résoud automatiquement le problème.

@+

Yvan


"géjoun" a écrit dans le message de news:

Bonjour,

J'utilise dasn une feuille de calcul un tri en VBA (ordre croissant sur
plusieurs lignes), sur une plage nommée; mais lorsque le tri est terminé,
toute la plage nommée reste sélectionnée.
Existe-t'il un code pour désélectionner cette plage à la fin du tri?

Merci!

--
géjoun

/Enlever l''année pour m''écrire.../


Avatar
géjoun
Bonjour,

Je viens d'essayer ta solution, et j'arrive exactement au même résultat
qu'avant.
Je mets ici la macro en question, si des fois ça venait d'elle :

Sub Trier()
Application.Goto Reference:="Zone_saisie"
Selection.Sort Key1:=Range("A9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
End Sub

Et une autre petite question d'ailleurs... A quoi servent les "_" en fin de
ligne de code?

Merci!


--
géjoun

/Enlever l''année pour m''écrire.../



Bonjour Géjoun

Pour déselectionner la plage, tu sélectionne autre chose (Range("A1").Select par
exemple).

Ceci dit, tu n'es pas obligé de sélectionner la plage pour trier.

Au lieu de:

Range(MaPlage).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, .......

Tu peux faire directement:

Range(MaPlage).Sort Key1:=Range("A1"), Order1:=xlAscending, .......

Cà résoud automatiquement le problème.

@+

Yvan


"géjoun" a écrit dans le message de news:

Bonjour,

J'utilise dasn une feuille de calcul un tri en VBA (ordre croissant sur
plusieurs lignes), sur une plage nommée; mais lorsque le tri est terminé,
toute la plage nommée reste sélectionnée.
Existe-t'il un code pour désélectionner cette plage à la fin du tri?

Merci!

--
géjoun

/Enlever l''année pour m''écrire.../







Avatar
Yvan
Bonjour Géjoun


Essaie ceci:

Sub Trier()
Range("Zone_saisie").Sort Key1:=Range("A9"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
End Sub

et aussi celà:

Sub Trier()
Application.Goto Reference:="Zone_saisie"
Selection.Sort Key1:=Range("A9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
Range("A9").Select
End Sub

Pour les "_" en fin de ligne, c'est juste pour mettre sur deux ou plusieurs
lignes (ici 3) une seule et même ligne de commande.

@+

Yvan
Avatar
géjoun
Yvan <yvan.echanges(enlever ceci)@free.fr> nous expliquait:

Bonjour Géjoun


Essaie ceci:

Sub Trier()
Range("Zone_saisie").Sort Key1:=Range("A9"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
End Sub

et aussi celà:

Sub Trier()
Application.Goto Reference:="Zone_saisie"
Selection.Sort Key1:=Range("A9"), Order1:=xlAscending,
Header:=xlGuess, _ OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _ DataOption1:=xlSortTextAsNumbers
Range("A9").Select
End Sub

Pour les "_" en fin de ligne, c'est juste pour mettre sur deux ou
plusieurs lignes (ici 3) une seule et même ligne de commande.

@+

Yvan


Bonsoir,

Je prends tes 2 macros, mais je pourrais que les essayer aprés le 25, donc
je donne des nouvelles après.

Merci!

--
géjoun

/Enlever l'année pour répondre.../