Largeur automatique des colonnes

Bonjour

Je suis en peine avec"ajuster la largeur des colonnes".

Ce que je cherche c'est que mes colonnes prennent la largeur du texte quelles contiennent

Si quelqu'un à un code VBA je suis preneur "vba pas trop mon fort"

Départ colonne A jusque colonne Z ligne 1 à 200

Merci pour votre aide

Crdlt

Bonjour,

Sub ColAdjust()
    Cells.Select
    Cells.EntireColumn.AutoFit
End Sub

Bonjour Joco7915, le forum,

Dans un module standard:

Sub LargeurColonneAuto()
 With Sheets("TaFeuille")
  .Columns("A:Z").AutoFit
 End With
End Sub

Macro à affecter à un bouton où un raccourci clavier

8classeur2.xlsm (27.53 Ko)

CTRL + e pour exécuter la macro

Sinon, dans le module de la feuille:

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim plage As Range
  Set plage = Range("A1:Z200")
   If Not Application.Intersect(Target, plage) Is Nothing Then Columns("A:Z").AutoFit
   cancel = True
End Sub

La macro s'exécute automatiquement dès que tu modifies une cellule dans la plage A1:Z200...

11classeur1.xlsm (27.21 Ko)

Cordialement,

EDIT: Salut oxydum

Bonjour

Merci pour ton aide

Ton fichier fonctionne bien mais en ce qui concerne le mien fonctionne pas

Peut-être que cela viens du fait suivant:

Exemple je tape 2000000000 dans une cellule de la feuil 1 par l'intermédiaire d'une formule ce nombre doit ce mettre dans une cellule de la feuil 2 ,et c'est là que ça coince la colonne ne s’élargit pas.

Si tu as une solution je suis preneur

Cdlt

Re,

Pas sur d'avoir bien compris.....

Tu veux que les colonnes s'ajustent sur les 2 feuilles ?

La feuille 2 comporte des calculs en fonction des données de la feuille 1 ?

2 exemples:

  • On rajoute une ligne de code pour agir sur la feuille 2
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim plage As Range
  Set plage = Range("A1:Z200")
   If Not Application.Intersect(Target, plage) Is Nothing Then
    cancel = True
     Columns("A:Z").AutoFit
      With Sheets("Feuil2")
      .Columns.AutoFit    'toutes les colonnes
      '.columns(1).autofit   'colonne 1 uniquement
      End With
    End If
End Sub
6classeur3.xlsm (39.78 Ko)
  • on conserve le code actuel et on agit sur l'évènement Calculate de la feuille 2
Private Sub Worksheet_Calculate()   'à mettre dans le module de la feuille 2
  Columns.AutoFit     'toutes les colonnes
  'Columns(1).AutoFit  'colonne 1 uniquement
End Sub
12classeur4.xlsm (39.55 Ko)

Cordialement,

Rechercher des sujets similaires à "largeur automatique colonnes"