Automatiser des largeurs de colonnes en fonction du contenu

Bonjour,

Est-ce possible d'automatiser les largeurs des colonnes de "B" à "J" en fonction du contenu

image

MErci à vous

Bon w.e.

Bonjour à tous,

Est-ce possible d'automatiser les largeurs des colonnes de "B" à "J" en fonction du contenu

Si j'ai tout bien compris

  • Clic droit sur la feuille concernée
  • Clic sur visualiser le code
  • Coller le code ci-dessous
Private Sub Worksheet_Change(ByVal Target As Range)
    With Me
        .Range("B:J").EntireColumn.AutoFit
    End With
End Sub

Bonjour Jean-Paul et merci beaucoup

J'ai essayé ton code mais ça ne prend pas. La cause est certainement que des actions sont bloquées par le menu, nan ?

Je l'ai intégré à mon code existant mais j'ai peut-être mal fait :

Private Sub Worksheet_Activate()
     'M_Podium
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
     With Me
        .Range("B:J").EntireColumn.AutoFit
    End With
     If Target.Locked = True Then
          Application.EnableEvents = False
          Application.Undo
          Application.EnableEvents = True
     End If
End Sub

Et en faisant plusieurs fois, j'ai un beug sur Application.Undo

Merci

à +

Re,

Ma question : Pourquoi faire un Undo sur une cellule bloquée ?

Je ne saurai pas te dire mais c'est un champion du code qui me l'a fait (BsAlv) voilà plus de 3 mois et tout fonctionnait bien

Il faut dire, à 3 experts mais principalement BsAlv quand même, ils m'ont fait un travail de folie avec ces feuilles hyper complexes

Moi je suis k.o. en code et formules, mais j'ai des idées, c'est déjà ça...

Peut-être tes lignes seraient à mettre à un autre endroit, nan ?

Merci

Bonne soirée :-)))))

re, si on utilise l'évent "activate" au lieu du "change" pour la macro de @Jean-Paul (que je salue), peut-être il faut aussi inclure la colonne K

PS. je ne sais pas à quoi sert le reste (la partie avec "undo") de la macro change, donc peut-être supprimer ?

Private Sub Worksheet_Activate()
     With Me
        .Range("B:J").EntireColumn.AutoFit
    End With
end sub

Coucou Bart'....Tout marche, merci beaucoup à vous 2

J'ai fait comme tu as écrit :

Private Sub Worksheet_Activate()
     With Me
        .Range("B:J").EntireColumn.AutoFit
    End With
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Locked = True Then
          Application.EnableEvents = False

          Application.EnableEvents = True
     End If
End Sub

C'est peut-être pas toi qui m'avait fait cette partie de code avec le "undo", Bart'

Les colonnes A & K, je préfère gérer moi-même leur largeur

En tout cas tout fonctionne à merveille comme ça

Bonne soirée et bon dimanche

Juste, ça met beaucoup trop de marges automatiques car je voudrais que ça vienne à raz. Ainsi ça sortira un peu plus grand en pdf

Y'a moyen d'agir sur celles-ci ?

Private Sub Worksheet_Activate()
     With Me
        .Range("B:J").EntireColumn.AutoFit
    End With
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Locked = True Then
          Application.EnableEvents = False

          Application.EnableEvents = True
     End If
End Sub
image

Merci beaucoup

re,

cette macro "...change", comme elle est dans ton dernier poste, c'est du type "Busy doing nothing". C'est mieux de le supprimer complètement, comme je l'avais déjà mentionné.

Pour ce marges, comme on n'utilise que la moitié de la feuille pour imprimer, ce serait mieux d'utiliser 3-5 lignes au lieu de 2 lignes. Par exemple en 3 lignes

DUPONT, Joelle
15,1 pts - 20,5 ans
2 pts en 1 fois

Comme ça, vous utilisez mieux votre feuille et le "autofit" fonctionnera mieux mais tout cela est un goût personnel, je suppose que tu devras jouer avec l'hauteur du font, peut-être aussi mettre ce "Coeff..." des cellules bleu sur une 3ieme ligne, donc c'est à toi d'optimaliser cela et peut-être, quand t'as fait tout cela, tu n'auras plus besoin de ce "autofit".

Bonjour Bart' et merci beaucoup pour tes précieuses aides.

Je vais effectivement mettre tout sur 3 lignes, c'est une très bonne idée.

Je voudrais, malgré tt, pouvoir réduire les marges si c'est possible

D'accord pour la macro, je la supprime : j'ai 100% confiance en tes conseils

Encore merci pour tout

Bon dimanche

Rechercher des sujets similaires à "automatiser largeurs colonnes fonction contenu"