Adaptation taille cellule
Bonjour à tous,
Je souhaiterais avoir votre aide pour un problème dont je ne parviens pas à trouver la solution malgré mes recherches sur le forum et sur le net (j'ai trouvé une ébauche de réponse, mais ma maîtrise d'excel étant toute relative je n'ai aps réussi à aller au bout).
Je souhaiterais savoir s'il est possible via une macro (ou autre subterfuge) de modifier la taille d'une cellule lorsque je clique dessus. Je m'explique : je remplis actuellement un tableau, et dans une des colonnes, les cellules peuvent parfois contenir beaucoup de contenu (longues lignes de texte, plusieurs retours à la ligne). Si j'adapte la taille de ma cellule, cela me fait un tableau TREEEEEEEES (trop surtout) long en hauteur et il n'est plus du tout lisible ni pratique.
Ainsi j'aimerais pouvoir :
- Remplir ma cellule avec tout le texte nécessaire
- Lorsque je ne sélectionne pas la cellule, que celle-ci soit réduite (puisque je n'ai pas besoin d'avoir le contenu de toutes les cellules lisible en même temps)
- Que la cellule s'agrandisse lorsque je la sélectionne, mais qu'elle reprenne une taille standard lorsque ce n'est plus elle que je sélectionne
En vous remerciant de votre aide précieuse !
Cyrille
Oui, cela doit être faisable.
Je ferais de la manière suivante:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim colonne As Long 'me servira à récupérer le numéro de colonne de la cellule sur laquelle tu double clique
Application.ScreenUpdating = False 'empêche la mise à jour de l'écran
colonne = ActiveCell.Column 'on récupère la colonne de la cellule qui t'intèresse
Columns("A:F").EntireColumn.Select 'de A à F (met à jour si ton tableau est plus grand)
Selection.ColumnWidth = 7.86 'mettre avec une largeur de 7.86 (modifie si tu veux)
Columns(colonne).AutoFit 'la colonne sélectionnée, on autofit sa taille!
Application.ScreenUpdating = True 'on affiche les modifications à l'écran
End Sub
Maintenant, si tu as des titres sur ton fichier, je propose l'amélioration suivante:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
Dim last_colonne As Long
Dim colonne As Long
colonne = ActiveCell.Column
last_colonne = Range("A1").End(xlToRight).Column
Range(Columns(1), Columns(last_colonne)).EntireColumn.Select
Selection.ColumnWidth = 7.86
Columns(colonne).AutoFit
Application.ScreenUpdating = True
End Sub
voila,
met résolu si ça te convient! bon courage!!
PS: ça fonctionne en double cliquant sur la cellule que tu veux observer!!