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

Comment alterner entre deux vues avec VBA

4 réponses
Avatar
Emile63
Bonjour =E0 tous,

Je souhaite alt=E9rner deux vues avec un bouton sur ma feuille, mais je
n'y arrive pas.
Je tourne en rond avec la proc=E9dure ci-apr=E8s.. :-(
Si quelqu'un pouvait me venir en aide ;-)
-------------------------------------------------
Sub BoutonVues()
If ActiveWorkbook.CustomViews.Item(1) Then
ActiveWorkbook.CustomViews(2).Show
Else
ActiveWorkbook.CustomViews(1).Show
End If
End Sub
-------------------------------------------------

Je vous remercie d'avance,
Cordialemente,
Emile

4 réponses

Avatar
DanielCo
Bonjour.
Je mettrais comme ça à condition que la macro soit dans le classeur
actif :

Public Ctr As Byte
Sub BoutonVues()
If Ctr = 1 Then
ActiveWorkbook.CustomViews(2).Show
Ctr = 2
Else
ActiveWorkbook.CustomViews(1).Show
Ctr = 1
End If
End Sub
et dans "thisworkbook" :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.CustomViews(1).Show
End Sub


Bonjour à tous,

Je souhaite altérner deux vues avec un bouton sur ma feuille, mais je
n'y arrive pas.
Je tourne en rond avec la procédure ci-après.. :-(
Si quelqu'un pouvait me venir en aide ;-)
-------------------------------------------------
Sub BoutonVues()
If ActiveWorkbook.CustomViews.Item(1) Then
ActiveWorkbook.CustomViews(2).Show
Else
ActiveWorkbook.CustomViews(1).Show
End If
End Sub
-------------------------------------------------

Je vous remercie d'avance,
Cordialemente,
Emile
Avatar
Emile63
Merci Daniel pour ton aide.
Ton exemple fonctionne, mais ce qui m'intéresse c'est de savoir
laquelle des deux vues est active au moment ou je le souhaite, pour
visualiser l'autre.
Dans ton exemple,a la fermeture du classeur il se ré-ouvre toujours
depuis la 1 et ce n'est pas le cas qui m'intéresse.

Je brode autour d'une boucle, mais sans succès...
Merci pour tes propositions,
Emile
Avatar
michel ou sam
Bonjour, inspiré d'une réponse qu''Isabelle t'avait faite le 14 janvier 2009
suite à un pb d'impression en pieds de page du nom de la vue ,

Private Sub CommandButton1_Click()
i = 0
x = Selection.Address
For Each cv In ActiveWorkbook.CustomViews
cv.Show
i = i + 1
y = Selection.Address
If x = y Then num = i
Next
num = num + 1
If num > 2 Then num = 1
ActiveWorkbook.CustomViews(num).Show
End Sub

Michel

"Emile63" a écrit dans le message de news:

Bonjour à tous,

Je souhaite altérner deux vues avec un bouton sur ma feuille, mais je
n'y arrive pas.
Je tourne en rond avec la procédure ci-après.. :-(
Si quelqu'un pouvait me venir en aide ;-)
-------------------------------------------------
Sub BoutonVues()
If ActiveWorkbook.CustomViews.Item(1) Then
ActiveWorkbook.CustomViews(2).Show
Else
ActiveWorkbook.CustomViews(1).Show
End If
End Sub
-------------------------------------------------

Je vous remercie d'avance,
Cordialemente,
Emile
Avatar
Emile63
Bonjour a tous,

Merci Michel.
Je reconnais avoir la mémoire un peu courte.... ;-)

Cordialement,
Emile