C'est un vrai plaisir que de regarder et d'écrire sur ce nouveau support (Bravo encore une fois à David)
Me voilà devant un petit souci d'affichage que je ne sais pas résoudre et peut-être qu'il n'y a pas de solution.
Je vais tenter de m'expliquer :
Afficher excel en plein écran se fait facilement.
Mais je voudrais pouvoir afficher mon tableau en "pleine" feuille.
Dit autrement en plein écran ou plutôt en "pleine feuille"dans excel lui-même -rien que ça !!!
En effet, j'ai beau tenter d'afficher avec ce code :
VB:
Range("A:u").Select 'adapter à l'écran à préciser
ActiveWindow.Zoom = True
ou autre code approchant ... mon tableau (mes colonnes) n'est jamais ajusté à la dimension de ma feuille.
Voilà une question qui n'a peut-être jamais été postée.
Je n'ai pas trouvé sur le net, ni nulle part.
Ne sachant pas mieux dire, je joins un fichier exemple qui sera, je l'espère plus explicite.
Avec les magiciens tout est possible
Si solution il y a, je vous en remercie vivement,
Bonne fin de journée à toutes et à tous,
amicalement,
arthour973,
Il y à un truc que je pige pas c'est que dans la feuille exemple ton affichage est à 100% "feuille exemple avec photo pour le résultat attendu" et dans la feuille Rappels ton affichage est à 133% "feuille Rappels avec ce que j'ai pour l'instant comme affichage" du coup....!! si tu veux que dans la feuille exemple ton affichage reste à 100% alors enregistre ton fichier avec la définition 100% ou alors j'ai rien compris au film
Dans la feuille exemple, c'est juste une photo que j'ai calé pour montrer mon résultat attendu.
Dans la feuille Rappels, c'est le code de la feuille qui ajuste et je n'arrive pas à trouver le code qui permettrait d'ajuster complètement comme l'exemple montré dans la feuille exemple.
VB:
Private Sub Worksheet_Activate()
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveWindow.DisplayHeadings = False
Range("A:t").Select 'adapter à l'écran à préciser
ActiveWindow.Zoom = True
Range("k1").Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
LOL, j'ai continué à chercher mais je ne trouve rien.
Amicalement,
Arthour973
Tu peux essayer un code comme celui-ci, je l'ai fait hier en prenant en compte la largeur du tableau mais pas la hauteur. Mais c'est pas simple comme problème.
VB:
Sub A_Zoom_Auto_Tableau()
Dl = Cells(1, 1).SpecialCells(xlLastCell).Row
DC = Cells(1, 1).SpecialCells(xlLastCell).Column
For i = 1 To DC
scl = scl + Cells(1, i).Columns.ColumnWidth
Next
scl = scl
'MsgBox scl
For i = 1 To Dl
slh = slh + Cells(i, 1).Rows.RowHeight
Next
ActiveWindow.Zoom = 100 / scl * 255
End Sub
Merci e t'intéresser à mon souci
OUI, pas simple. je suis faible en vba mais je me débrouille et j'ai tenté dans tous les sens sans résultat.
Je teste et je reviens te dire.
amicalement,
arthour973
Un essai avec ce code,
En faite tu ouvres le fichier, et pour ajuster ton fichier à ton écran tu sélectionnes l'onglet Feuil1 puis tu re-sélectionnes L'onglet Rappels et normalement là.... ton fichier s'ajustera à ton écran. A voir si c'est ce que tu recherche.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Range("e5:s18").Select 'ici tu selectionne la plage que tu veux elle sera zommée pour remplir tout l'ecran quelque se soit la resolution de ton ecran
ActiveWindow.ScrollColumn = Selection.Column
ActiveWindow.ScrollRow = Selection.Row
ActiveWindow.Zoom = True
Range("e1").Select
Application.ScreenUpdating = True
End Sub
ActiveWindow.Zoom = True est une solution classique mais on peut aussi utiliser le VisibleRange :
VB:
Private Sub Worksheet_Activate()
Dim dercol%, colvar%, cw&
dercol = 21 'colonne U, dernière colonne à cadrer
colvar = 19 'colonne S de largeur ajustable
ActiveWindow.Zoom = 100
Application.ScreenUpdating = False
Columns(colvar).ColumnWidth = 10
If ActiveWindow.VisibleRange.Columns.Count < dercol Then MsgBox "Réduisez les largeurs des colonnes": Exit Sub
For cw = 100 To 2550
Columns(colvar).ColumnWidth = cw / 10
If ActiveWindow.VisibleRange.Columns.Count <= dercol Then Exit Sub
Next
End Sub