Largeur de colonne en fonction de la taille de la fenêtre principale XL2010

Bonjour les amis, je demande votre aide pour résoudre un petit problème !!

Le fichier «test» contient 3 feuilles, chaque feuille contient un tableau (en rouge), la colonne A et la ligne 1 de chaque feuille changent respectivement de largeur et de hauteur (pour garder les 3 tableaux aux centres des feuilles) lorsque la taille de la fenêtre de l’application change. Ce changement de largeur et de hauteur se produit sur les trois feuilles en même temps en activant l'une d'entre elles.

Je veux que la macro « Ajustement » soit exécutée automatiquement lorsque je change la taille de la fenêtre principale de l'application Excel (minimiser, maximiser, changer la hauteur ou la largeur) sans avoir besoin d’activer une des feuilles.

Module de chaque feuille :

Private Sub Worksheet_Activate()
    Ajustement
End Sub

Code dans le module :

Sub Ajustement()
        Dim ws As Worksheet
        For Each ws In Worksheets
            If Application.UsableWidth > Columns("B:L").Width Then
                ws.Columns("A:A").ColumnWidth = (Application.UsableWidth - ws.Columns("B:L").Width) / 11
            End If
            If Application.UsableHeight > Rows("2:25").Height Then
                ws.Rows("1:1").RowHeight = (Application.UsableHeight - ws.Rows("2:25").Height) / 2
            End If
        Next ws
End Sub

j'ai créé un module de classe (nommé CExcelEvents), code :

Private WithEvents App As Application
Private Sub App_WindowResize(ByVal Wb As Workbook, ByVal Wn As Window)
    Ajustement
End Sub
Private Sub Class_Initialize()
    Set App = Application
End Sub

Code module objet ThisWorkbook :

Option Explicit
Private XLApp As CExcelEvents
Private Sub Workbook_Open()
    Set XLApp = New CExcelEvents
End Sub

Mais malheureusement rien ne se passe lorsque la fenêtre est redimensionnée.

Je vous remercie par avance pour les réponses que vous m’apporterez.

7test.xlsm (24.79 Ko)

Bonsoir,

après un test chez moi, tout fonctionne : J'ouvre le fichier en plein écran, je modifie la taille de la colonne A, puis je change de feuille, les trois sont "optimisée" ceci fonctionne chez vous.
Je clic sur sur l'icône "double carré" en haut à droite d'Excel, la fenêtre se rétrécie, et la colonne A s'adapte afin de centrer le rectangle rouge, si je déplace le coté droit de la fenêtre vers la gauche, la colonne s'adapte automatiquement jusqu'à disparaitre et je fini par masquer le rectangle rouge...

@ bientôt

LouReeD

Bonjour LouReed,

Je vous remercie pour votre réponse, je suis sous Excel 2010, ça ne marche pas pour moi, vous utilisez la même version que moi !? Je crois que ça marche pour les versions ultérieures !

Bonsoir,

et non comme indiqué ici :

image

je n'utilise pas la même version...

@ bientôt

LouReeD

Ok chef merci, et désolé je n'ai pas remarqué !!

Bonsoir,

pas de soucis, mais en tout cas votre code fonctionne bien chez moi...

@ bientôt

LouReeD

Rechercher des sujets similaires à "largeur colonne fonction taille fenetre principale xl2010"