Redimensionner un tableau excel grâce à une macro VBA

GuillaumA

XLDnaute Occasionnel
Bonjour à tous,
Je me permet de vous solliciter afin de savoir s'il existe une macro afin de redimensionner un tableau A1:F79 de tel sorte qu'il prenne tout l'écran excel disponible sur tout type d'ordinateur.
En gros, une macro qui modifie la taille à l'affichage en fonction des caractéristiques de résolution et tailles de chaque écran d'ordinateur ou le fichier excel va être lancé.

Je vous remercie de votre considération et vous souhaite une agréable journée au travail... ou pas :)

Cordialement,
Guillaume A.
 
Dernière édition:

GuillaumA

XLDnaute Occasionnel
Re : Redimensionner un tableau excel grâce à une macro VBA

Re Efgé.
Que dire a part que... je t'adore!
Ta macro masquant les lignes et plus courte et performante; bien plus optimisé pour mon fichier! Plus de temps d'attente, plus d'écran qui saute... en gros 1000 fois plus fluide.

Que dire d'autre. Ah oui du coup la macro pour mettre le tableau à taille de l'écran marche niquel. Juste à mettre un espace dans les cellules de la ligne 1 sur toute la largeur du tableau (cela aurait pu être des chiffres, mots, ...juste quelquechose) afin que la macro reconnaisse le tout.

Bref, je rentre du déjeuner pour recevoir un beau cadeau.

Un grand merci à toi! Je te souhaite une agréable fin de journée =)

@+
Guillaume A.
 

GuillaumA

XLDnaute Occasionnel
Re : Redimensionner un tableau excel grâce à une macro VBA

Fil clos.

Réponses:

- Tableaux s'adaptant automatiquement à n'importe quelle interface ou résolution:

Dans ThisWorkBook

Private Sub Workbook_SheetActivate(ByVal Sh As Object) 'The Excel tables take the size of the screen, no matter what resolution and screen size the user have
Application.ScreenUpdating = False
Dercol = Cells(1, Application.Columns.Count).End(xlToLeft).Column
Range(Cells(1, 1), Cells(1, Dercol)).Select
ActiveWindow.Zoom = True
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Ne pas oublier qu'il doit y avoir au moins un caractère dans chaque cellule de la première ligne du tableau (en l'occurence, ici le tableau commence en A1)

- Refresh d'un tableau pour faire disparaître les lignes inutiles:

Public Sub Masquer() 'hide unused lines automatically

Application.ScreenUpdating = False
For i = 1 To 100
Rows(i).Hidden = Cells(i, 3).Value = ""
Next i
Application.ScreenUpdating = True
End Sub

Mettez uniquement ce code dans la feuille ou le tableau se trouve si vous créez un bouton de validation (genre bouton appelé REFRESH)

Si vous faites apparaître le texte dans les lignes du tableau grâce à la validation de cellules sur une autre feuille B, vous pouvez faire que le tableau se refresh automatiquement en ajoutant dans la feuille B ce code:

Private Sub Worksheet_Change(ByVal Target As Range) 'Each time an action is done on this page, then Step 3 Masquer() is launched

Call Feuil(NumFeuil).Masquer
 

Efgé

XLDnaute Barbatruc
Re : Redimensionner un tableau excel grâce à une macro VBA

Re
Content que la solution te satisfasse.
Je me permet une précision:
en utilisant la fonction
Code:
Dercol = Cells(1, Application.Columns.Count).End(xlToLeft).Column
Il suffit que la cellule la plus à droite en ligne 1 soit renseignée (un point avec une police de charactère en blanc fait très bien l'affaire).

D'autre part rendons à César...
Il ne faut pas oublié Dull :) qui a monté la macro du Zoom que je n'ai fait que rendre "dynamique".

Cordialement
 

expender

XLDnaute Nouveau
Re : Redimensionner un tableau excel grâce à une macro VBA

Bonjour,
je me permets de déterer ce sujet car j'aurai besoin de vos lumières pour mon boulot. Il m'est demandé (enfin si cela est possible) de redimensionner un tableau de façon précise, je m'explique.

J'ai un tableau qui prend un certain nombre de lignes et de colonnes du à la présentation de ma page et il faudrait que ce dernier soit fixe. Sachant que ce tableau va aller chercher dans un 2ième onglet les données à afficher et va donc devoir ajouter ou supprimer des lignes dans le tableau et donc logiquement en modifier sa taille ce que je ne désire pas.

Est-il possible de faire cela ? Si oui comment ?

Merci d'avance pour votre temps.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 699
Messages
2 091 109
Membres
104 764
dernier inscrit
lelefoot