Trier une plage lors de l'ouverture d'un classeur.

Hades60250

XLDnaute Nouveau
Bonjour à toutes et tous!

J'ai créé une base de données excel regroupant de nombreuse feuille.

Lors de l'ouverture de ce fichier, en plus des actions Full Screen et l'affichage d'une boite de dialogue, je souhaiterais trier une plage de données dans la feuille "Liste".

J'avais donc le code suivant dans ThisWorkbook:

Private Sub Workbook_Activate()
Application.DisplayFullScreen = True
End Sub

Private Sub Workbook_Deactivate()
Application.DisplayFullScreen = False
End Sub

Private Sub Workbook_Open()

UserForm16.Show
Application.Wait Now + TimeValue("00:00:03")
Unload UserForm16

End Sub

Private Sub Workbook_Activate()

Sheets("Liste").Range("A2:R1000").Select
Selection.Sort key1:=Range("A1"), Order1:=xlAscending

End Sub


Naturellement, ça ne fonctionne pas....:confused:

Est ce que quelqu'un pourrait m'aider s'il vous plait????
 

pat01200

XLDnaute Occasionnel
Re : Trier une plage lors de l'ouverture d'un classeur.

En fait tu dois regrouper dans la même macro, tout ce que tu souhaites à l'ouverture, ça peut donner ceci :

Private Sub Workbook_Open()
Application.DisplayFullScreen = True
Sheets("Liste").Range("A2:R1000").Select
Selection.Sort key1:=Range("A1"), Order1:=xlAscending
UserForm16.Show
Application.Wait Now + TimeValue("00:00:03")
Unload UserForm16
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayFullScreen = False
End Sub
 

CBernardT

XLDnaute Barbatruc
Re : Trier une plage lors de l'ouverture d'un classeur.

Bonjour Hades60250, pat01200,



Essaye avec ces macros toujours dans le module ThisWorkbook :

Attention à éviter les Select :)

Private Sub Workbook_Open()
Application.DisplayFullScreen = True
Sheets("Liste").Range("A2:R1000").Sort key1:=Sheets("Liste").Range("A2"), Order1:=xlAscending
UserForm16.Show
Application.Wait Now + TimeValue("00:00:03")
Unload UserForm16
End Sub
Private Sub Workbook_Deactivate()
Application.DisplayFullScreen = False
End Sub

Code réalisé sans test :D
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Trier une plage lors de l'ouverture d'un classeur.

Bonjour Hades60250, CBernardT, pat01200,
Sheets("Liste").Range("A2:R1000").Select
Selection.Sort key1:=Range("A1"), Order1:=xlAscending
Naturellement, ça ne fonctionne pas....:confused:
Je propose :
Code:
[COLOR=blue]Private Sub[/COLOR] Workbook_Open()
UserForm1.Show
Application.Wait Now + TimeValue("00:00:03")
Unload UserForm1
[COLOR=blue]End Sub[/COLOR]

Code:
[COLOR=blue]Private Sub[/COLOR] Workbook_Activate()
Application.DisplayFullScreen = [COLOR=blue]True[/COLOR]
Sheets("Liste").Range("A1:D1000").Sort key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess
[COLOR=blue]End Sub[/COLOR]

Code:
[COLOR=blue]Private Sub[/COLOR] Workbook_Deactivate()
Application.DisplayFullScreen = [COLOR=blue]False[/COLOR]
[COLOR=blue]End Sub[/COLOR]
Cordialement
 

Hades60250

XLDnaute Nouveau
Re : Trier une plage lors de l'ouverture d'un classeur.

Bonjour Efgé!

En effet il y avait une grossière erreur de saisie de ma part concernant la plage:D.
J'ai intégré le code mais j'ai toujours le même problème et le même message d'erreur concernant le Tri... en revanche la msgbox s'affiche bien.
 

Efgé

XLDnaute Barbatruc
Re : Trier une plage lors de l'ouverture d'un classeur.

Re
Comme l'avait dit CBernardT,il faut utiliser:
Code:
[COLOR=BLUE]Private Sub[/COLOR] Workbook_Activate()
Application.DisplayFullScreen = [COLOR=BLUE]True[/COLOR]
Sheets("Liste").Range("A1:D1000").Sort key1:=Sheets("Liste").Range("A1"), Order1:=xlAscending, Header:=xlGuess
[COLOR=BLUE]End Sub[/COLOR]
Cordialement
 

CBernardT

XLDnaute Barbatruc
Re : Trier une plage lors de l'ouverture d'un classeur.

Re,

Un essai si j'ai tout bien compris....

A noter que le formulaire est ShowModal = False

Lorsqu'un objet UserForm est modal, l'utilisateur doit fournir des informations ou fermer l'objet UserForm pour pouvoir utiliser toute autre partie de l'application.
Lorsqu'un objet UserForm n'est pas modal, l'utilisateur peut afficher d'autres feuilles ou fenêtres sans fermer cet objet.
 

Pièces jointes

  • FichierBaseForumV1.xls
    34 KB · Affichages: 70

Discussions similaires

Réponses
1
Affichages
1 K
Compte Supprimé 979
C
Réponses
2
Affichages
719