Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Largeur de colonne automatique

  • Initiateur de la discussion Initiateur de la discussion abc
  • 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 !

abc

XLDnaute Impliqué
Bonjour,
Comment adapter la largeur dfférentes des colonnes contenant les lettres S et D ?
Attention, les lettres vont changer de colonne en fonction des dates du mois.On peux ajouter une ligne avec les lettres abrégées;
Merci d'avance
A +
 

Pièces jointes

Re : Largeur de colonne automatique

Bonjour ABC,

Une macro événementielle ferait-elle l'affaire ?

Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.ScreenUpdating = False
For Each Target In Range("A1:IV1")
    If Target.Value = "S" Or Target.Value = "D" Then
    Target.ColumnWidth = 3
    Else
    Target.ColumnWidth = 8
    End If
   
Next
Application.ScreenUpdating = True
End Sub
@+
 
Dernière édition:
Re : Largeur de colonne automatique

Bonjour,
Merci pour vos réponses.
j'ai essayé les deux codes et cela ne fonctionne pas comme je le désire.
Je me suis peux être mal exprimer.La largeur des colonnes changent lorsque S ou D s'inscrivent, mais la colonne ne reprend a largeur initiale lorsque S et D ne sont plus inscrit où change de colonne.
Je joint un autre fichier.
A +
 

Pièces jointes

Re : Largeur de colonne automatique

Bonjour,
je ne parviens pas à adapter la proposition de pierrejean.
Par contre la proposition de Sergio fonctionne mais j'ai du la mettre avec une autre procédure.
Fichier ci joint pour d'autre proposition èventuelle où correction
merci pour le suivi
A +
 

Pièces jointes

Re : Largeur de colonne automatique

Re,

Ta solution fonctionne, on peut aussi faire comme ceci :

Code:
Private Sub Worksheet_Calculate()

Dim Target As Range

Application.ScreenUpdating = False
For Each Target In Range("B9:AF9")
    If Target.Value = "S" Or Target.Value = "D" Then
    Target.ColumnWidth = 3
    Else
    Target.ColumnWidth = 8
    End If
   
Next
Application.ScreenUpdating = True

End Sub

@+
 
Re : Largeur de colonne automatique

Bonsoir,
merci à pierrejean et SergiO,désolé de ne pas vous répondre plutôt mais obligation familialle obligé mon retenu.Après correction cela fonctionne parfaitement.
Encore une grande réussite
Merci, ma progression en VBA est lente.
A + pour d'autres problèmes et SOLUTIONS
 
- 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

Discussions similaires

Réponses
3
Affichages
215
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
395
Réponses
6
Affichages
330
  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
659
Réponses
7
Affichages
301
Réponses
12
Affichages
363
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…