Boucle pour la taille des colonnes

  • Initiateur de la discussion Baside
  • Date de début
B

Baside

Guest
Bonjour le Forum,

Ce code

Columns('A:A').Select
Selection.ColumnWidth = 8.57
Columns('B:B').Select
Selection.ColumnWidth = 5.29
Columns('C:C').Select
Selection.ColumnWidth = 1.14
Columns('D:D').Select
Selection.ColumnWidth = 30
Columns('E:E').Select
Selection.ColumnWidth = 15
Columns('F:F').Select
Selection.ColumnWidth = 15

Définit la taille des colonnes A à F, est il possible de faire une boucle pour continuer à définir la largeur des colonnes suivantes ?

D'avance, merci, Hervé.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

qu'entends-tu par fiare une boucle ??

la colonne G a la même largeur que A
la colonne H a la même largeur que B
.........
???

tu peux déjà gagner un peu de temps ainsi:

Columns('A:A').ColumnWidth = 8.57
Columns('B:B').ColumnWidth = 5.29
Columns('C:C').ColumnWidth = 1.14
Columns('D:D').ColumnWidth = 30
Columns('E:E').ColumnWidth = 15
Columns('F:F').ColumnWidth = 15

Bon courage
 
B

Baside

Guest
Bonjour Pascal76, le Forum,

Ce code définit la taille des 6 premières colonnes, j'aimerai pouvoir définir la taille de 72 colonnes (6 x 12) sans avoir à écrire 12 fois ce code.

C'est à dire avoir la colonne G de la même largeur que A, h id à B ...

D'avance merci, Hervé.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re

essaies ceci

Dim x As Byte
For x = 1 To 72 Step 6
Columns(x).ColumnWidth = 8.57
Columns(x + 1).ColumnWidth = 5.29
Columns(x + 2).ColumnWidth = 1.14
Columns(x + 3).ColumnWidth = 30
Columns(x + 4).ColumnWidth = 15
Columns(x + 5).ColumnWidth = 15
Next

Bonne journée
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour le 'Nain Pliqué' lol Félicitation Pascal !!!!!

Bonjour Baside, le Forum

Moi j'ai eu à faire ceci, et je me complique moins la vie :

Sub ColResizer()
Dim ColNum As Integer

   
With Application
    .ScreenUpdating =
False
   
       
For ColNum = 1 To 72
           
Select Case ColNum
               
Case 1, 25, 21, 60, 70
                    Columns(ColNum).ColumnWidth = 15
               
Case 3, 15, 20, 40, 69
                    Columns(ColNum).ColumnWidth = 25
               
Case 4, 16, 21, 41 To 59, 62 To 68
                    Columns(ColNum).ColumnWidth = 45
               
Case Else
                    Columns(ColNum).ColumnWidth = 5
           
End Select
       
Next
    .ScreenUpdating =
True
   
End With

End Sub


Bonne Journée
@+Thierry

EDITION !!!

En fait j'ai repris un extrait de code qui me servait au boulot pour une feuille de 256 colonnes à formatter, mais donc ici Integer, n'est pas justifé, puisque 72 max, donc Byte Suffit...
Et évidemment je n'ai pas adapté aux numéros de Colonnes de notre ami Baside...

Message édité par: _Thierry, à: 11/04/2005 11:47
 

Discussions similaires

Réponses
13
Affichages
2 K
Réponses
38
Affichages
5 K

Statistiques des forums

Discussions
313 032
Messages
2 094 576
Membres
106 054
dernier inscrit
Mohajer