Tri sur feuille liste sans passer par celle-ci

Bonjour le Forum,

Je me suis créer un tri sur ma feuille liste.

J'ai ajouter ce tris sur d'autres feuilles et le tris passe automatiquement sur ma feuille liste.

Comment éviter cela.

Merci d'avance.

Balance58

Private Sub CommandButton1_Click()
If ComboBox1.ListIndex = -1 Then Exit Sub
With Feuil1
.Unprotect
.Select
col = (ComboBox1.ListIndex * 13) + 3
.Range(.Cells(4, col - 1), .Cells(43, col + 11)).Sort key1:=.Cells(4, col - 1), Order1:=xlAscending, Header:=xlNo
End With
MsgBox "Le tri à bien été effectué !!"
Unload Me
End Sub

Bonjour,

Private Sub CommandButton1_Click()
If ComboBox1.ListIndex = -1 Then Exit Sub
Application.ScreenUpdating = False
With Feuil1
.Unprotect
.Select
col = (ComboBox1.ListIndex * 13) + 3
.Range(.Cells(4, col - 1), .Cells(43, col + 11)).Sort key1:=.Cells(4, col - 1), Order1:=xlAscending, Header:=xlNo
End With
MsgBox "Le tri à bien été effectué !!"
Feuil2.Select
Application.ScreenUpdating = True
Unload Me
End Sub

Ajout des Application.ScreenUpdating pour éviter les freezes d'écran.

Et tu reviens sélectionner ta feuille de départ

Cordialement

Bonjour

With Feuil1

Feuil1 est le codename de Liste : donc tout tes sort se réfèrent à cette feuille

Utiliser le nom de la feuille où est situé le bouton

Bonjour Messieurs,

Moul : Merci pour ton idée mais je ne veut pas revenir à la feuille départ, je veux revenir à la feuille active.

78chris : si je met liste à la place de Feuil1 j'ai en jaune Unprotect et .Select

Si vous avez d'autres idées.

Merci

Balance58

RE
CodeName c'est le nom Interne, immuable, quel que soit le nom que tu mettras sur l'onglet

Name c'est le nom donné à l'onglet

Si on utilises le nom de l'onglet, donc Name, il faut préciser avec cette syntaxe Worksheets("Nom") alors que le codename est utilisé directement

Ton problème, si j'ai bien compris, n'est pas sur l'onglet liste mais sur tes autres boutons placés sur d'autres feuilles

A ce moment la tu creer une variable feuille

et au debut de programme tu l'associe a activement

A la fin du programme tu la réactive.

Private Sub commandbutton1_click()
Dim FeuilleActuelle as worksheet
Set feuilleactuelle = activesheet

Application.screenupdating = false

'Le programme

Feuilleactuelle.select
Application.screenupdating = true

End sub

J'écris le code avec mon téléphone... Pas facile..

Re,

Merci Moul, c'est super ça fonctionne..

Merci de ton aide aide ainsi que 78chris

Bon après midi à vous et au Forum

Balance58

Rechercher des sujets similaires à "tri feuille liste passer celle"