Lancement d'une macro au chargement d'une page

Bonjour,

Je souhaiterai savoir quel seraist le mode opératoire pour appliquer la macro suivante automatiquement lors du chargement de l'onglet "Plannning"

Au passage merci à DOCMARTI pour celle-ci

Sub triligne()

On Error GoTo errorhandler

Dim i As Long

Dim fPlanning As Worksheet

Dim r As Range

Dim masquer As Range

Dim Premiere As Range

Dim Derniere As Range

Set fPlanning = ActiveWorkbook.Worksheets("Planning")

fPlanning.Activate

'Premier tri : descendant

Set r = fPlanning.Range("C1:BQ1") 'Definit le champ a trier

Set Premiere = r.Cells(1, 1)

Set Derniere = r.Cells(1, r.Columns.Count)

'Affiche toutes les colonnes de ce champ

fPlanning.Range(fPlanning.Columns(Premiere.Column), fPlanning.Columns(Derniere.Column)).Hidden = False

With ActiveWorkbook.Worksheets("Planning").Sort

.SortFields.Clear

.SortFields.Add Key:=r, _

SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

.SetRange r

.Header = xlGuess

.MatchCase = False

.Orientation = xlLeftToRight

.SortMethod = xlPinYin

.Apply

End With

'Chercher le premier 0 ou ""

Set masquer = Nothing

For i = Premiere.Column To Derniere.Column

If fPlanning.Cells(1, i) = "" Or fPlanning.Cells(1, i) = 0 Then

Set masquer = fPlanning.Range(fPlanning.Columns(fPlanning.Cells(1, i).Column), Derniere)

Set r = fPlanning.Range(Premiere, fPlanning.Cells(1, i - 1)) 'Definir le champ a trier

Exit For

End If

Next

If i > Premiere.Column Then

'Second tri : Ascendant

With ActiveWorkbook.Worksheets("Planning").Sort

.SortFields.Clear

.SortFields.Add Key:=r, _

SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

.SetRange r

.Header = xlGuess

.MatchCase = False

.Orientation = xlLeftToRight

.SortMethod = xlPinYin

.Apply

End With

'Masquer les colonnes dont le titre est "" ou est 0

If Not masquer Is Nothing Then

fPlanning.Range(fPlanning.Columns(masquer.Column), fPlanning.Columns(masquer.Columns.Count + masquer.Column - 1)).Hidden = True

End If

End If

Exit Sub

errorhandler:

MsgBox "Ligne: " & Erl & vbCrLf & _

"Error: (" & Err.Number & ") " & Err.Description, vbCritical, "Erreur"

End Sub

Merci bien par avance,

Cordialement.

Bonjour,

Ci-joint un exemple pour déclencher une macro sur changement d'onglet

Bouben

Bonjour Bouben,

Merci bien pour cette macro, je viens de la mettre en application, elle fonctionne parfaitement dans mon classeur.

Bon week-end à toi.

Cordialement.

Rechercher des sujets similaires à "lancement macro chargement page"