Code pour redimmensionner une colonne en fonction du contenu d'une cellule

  • Initiateur de la discussion Initiateur de la discussion esparoufri
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

esparoufri

Guest
Bonjour à tous,

j'ai longtemps cherché sur les différents forums mais je ne trouve pas exactement la réponse à ma question.
Je souhaiterais trouver le code complet permettant de redimensionner la colonne A en fonction du contenu de la case A1.

Ainsi, lorsque A1 = PCB la colonne prendra une largeur de 10 et lorsque A1 = RJ alors la colonne prendra une largeur de 5.

Est-il possible que la largeur de la colonne change directement lorsque je saisis PCB ou RJ pour que je n'ai pas à ouvrir puis refermer le tableur?

Quelqu'un aurait la solution?

Merci beaucoup!!
 
Re : Code pour redimmensionner une colonne en fonction du contenu d'une cellule

Hello Esparouffri,

Tu peux faire avec ce code... il prend la largeur du contenu de la colonne A ou aussi pour toutes.

Places-le dans le code de la feuille (click-droit sur l'onglet de la feuille et voir le code)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    Application.ScreenUpdating = False
    
    'Si tu veux juste pour la colonne A
    Columns("A:A").EntireColumn.AutoFit


    'Ou si tu veux sur toutes les colonnes
    'ActiveCell.EntireColumn.AutoFit

End Sub
Je l'ai fait avec l'enregistreur de macros.

Cdt, Hulk.
 
Re : Code pour redimmensionner une colonne en fonction du contenu d'une cellule

Merci pour cette solution. Par contre je ne comprends pas comment tu intègres les arguments PCB ou RJ dans le code (je suis débutant en VBA). Ne peut-on pas passer par une fonction if then puis définir grâce à une fonction une largeur de 5 ou de 10? Je crois que ton codage est un peu trop compliqué pour mes connaissances 😉
 
Re : Code pour redimmensionner une colonne en fonction du contenu d'une cellule

Re,

Plus simple peut-être... Toujours à placer dans le code de la feuille voulue.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If [A1] = "RJ" Then Columns("A:A").ColumnWidth = 5
    If [A1] = "PCB" Then Columns("A:A").ColumnWidth = 10

End Sub
Cdt, Hulk.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour