Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Reproduire largeurs colonnes

8 réponses
Avatar
géjoun
Bonjour,

Dans un tableau, j'ai, à partir de la colonne I, des colonnes qui "marchent"
par 3, et qui sont ensuite séparée par une plus petite (pour plus de
lisibilité.

Donc ça donne :

Colonne I : 0.25 pt
Colonne J : 3.29 pt
Colonne K : 4.57 pt
Colonne L : 4.57 pt

puis à nouveau :

Colonne M: 0.25 pt
Colonne N : 3.29 pt
Colonne O : 4.57 pt
Colonne P : 4.57 pt

...etc... jusqu'à la colonne DX.

Le soucis, c'est qu'on m'a changé la largeur de certaines de ces colonnes,
et j'ai voulu essayer de reproduire la mise en forme en sélectionnant les
colonnes de I à L puis en la faisant glisser en choisissant "Ne reproduire
que la mise en forme", mais vu qu'il y a des cellules fusionnées, ça
fonctionne pas.

Existe t'il un moyen pour rétablir d'un coup toutes les largeurs de colonnes
jusqu'à DX en se basant sur les 1ères (de I à L).

Merci!

--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../

8 réponses

Avatar
gg
Salut,

Ma réponse ne va pas te plaire mais à part une macro, je ne vois pas comment
automatiqer la chose !!!

Pour info et pour faire simple tu peux faire un enregistrement automatique
de macro :
Place toi dans la colonne I va dans Outils/Macro/nouvelle macro
Donne lui un nom (sans espace)
Affecte lui un raccourci clavier (c'est plus pratique)
Et "OK"
Tu dois avoir une petite barre d'outils supplémentaire (ne clique surtout
pas sur le X à droite)
Dans cette barre d'outils clique sur le bouton "Relatif"
Va dans Format/colonne/Largeur vérifie que la largeur est bonne et "OK"
Passe dans les trois autres colonnes (de préférence en restant sur la même
ligne) et fait la même chose.
Avant de finir passe dans la colonne m.
Pour terminer ta macro, clique sur le bouton "Terminer l'enregistrement" qui
se trouve dans la petite barr d'outils.

Maintenant, il n'y a plus qu'à :
Lancer ta macro place toi dans la colonne M et utilise le raccourci clavier.
et tu as quatre col (M,N,O et P qui sont bonnes)
recommence et
recommence et
...

GG

"géjoun" a écrit dans le message de news:

Bonjour,

Dans un tableau, j'ai, à partir de la colonne I, des colonnes qui
"marchent"
par 3, et qui sont ensuite séparée par une plus petite (pour plus de
lisibilité.

Donc ça donne :

Colonne I : 0.25 pt
Colonne J : 3.29 pt
Colonne K : 4.57 pt
Colonne L : 4.57 pt

puis à nouveau :

Colonne M: 0.25 pt
Colonne N : 3.29 pt
Colonne O : 4.57 pt
Colonne P : 4.57 pt

...etc... jusqu'à la colonne DX.

Le soucis, c'est qu'on m'a changé la largeur de certaines de ces colonnes,
et j'ai voulu essayer de reproduire la mise en forme en sélectionnant les
colonnes de I à L puis en la faisant glisser en choisissant "Ne reproduire
que la mise en forme", mais vu qu'il y a des cellules fusionnées, ça
fonctionne pas.

Existe t'il un moyen pour rétablir d'un coup toutes les largeurs de
colonnes
jusqu'à DX en se basant sur les 1ères (de I à L).

Merci!

--
géjoun

/Enlever l''année pour m''écrire.../


Avatar
géjoun
Salut,

Merci pour l'xplication pour ton explication.
Je me doute que la seule façon d'arriver à ça sans avoir à répéter 50 fois
la même opération est par une macro, mais j'arrive pas à trouver comment
faire une boucle et par rapport à quoi me baser pour prendre une référence.

Donc si quelqu'un peut m'aider.

Merci!

--
géjoun

/Enlever l''année pour m''écrire.../



Salut,

Ma réponse ne va pas te plaire mais à part une macro, je ne vois pas comment
automatiqer la chose !!!

Pour info et pour faire simple tu peux faire un enregistrement automatique
de macro :
Place toi dans la colonne I va dans Outils/Macro/nouvelle macro
Donne lui un nom (sans espace)
Affecte lui un raccourci clavier (c'est plus pratique)
Et "OK"
Tu dois avoir une petite barre d'outils supplémentaire (ne clique surtout
pas sur le X à droite)
Dans cette barre d'outils clique sur le bouton "Relatif"
Va dans Format/colonne/Largeur vérifie que la largeur est bonne et "OK"
Passe dans les trois autres colonnes (de préférence en restant sur la même
ligne) et fait la même chose.
Avant de finir passe dans la colonne m.
Pour terminer ta macro, clique sur le bouton "Terminer l'enregistrement" qui
se trouve dans la petite barr d'outils.

Maintenant, il n'y a plus qu'à :
Lancer ta macro place toi dans la colonne M et utilise le raccourci clavier.
et tu as quatre col (M,N,O et P qui sont bonnes)
recommence et
recommence et
....

GG

"géjoun" a écrit dans le message de news:

Bonjour,

Dans un tableau, j'ai, à partir de la colonne I, des colonnes qui
"marchent"
par 3, et qui sont ensuite séparée par une plus petite (pour plus de
lisibilité.

Donc ça donne :

Colonne I : 0.25 pt
Colonne J : 3.29 pt
Colonne K : 4.57 pt
Colonne L : 4.57 pt

puis à nouveau :

Colonne M: 0.25 pt
Colonne N : 3.29 pt
Colonne O : 4.57 pt
Colonne P : 4.57 pt

...etc... jusqu'à la colonne DX.

Le soucis, c'est qu'on m'a changé la largeur de certaines de ces colonnes,
et j'ai voulu essayer de reproduire la mise en forme en sélectionnant les
colonnes de I à L puis en la faisant glisser en choisissant "Ne reproduire
que la mise en forme", mais vu qu'il y a des cellules fusionnées, ça
fonctionne pas.

Existe t'il un moyen pour rétablir d'un coup toutes les largeurs de
colonnes
jusqu'à DX en se basant sur les 1ères (de I à L).

Merci!

--
géjoun

/Enlever l''année pour m''écrire.../







Avatar
RGI
Bonjour

cela peut-il faire ?

mettre dans un module ou dans open de thisworkbook

Sub largCol()
Application.ScreenUpdating = False
nc = Columns.Count
For i = 1 To nc Step 4
Columns(i).ColumnWidth = 0.25
Columns(i + 1).ColumnWidth = 3.29
Columns(i + 2).ColumnWidth = 4.57
Columns(i + 3).ColumnWidth = 4.57
Next
Application.ScreenUpdating = True

End Sub

salutations

RGI

Salut,

Merci pour l'xplication pour ton explication.
Je me doute que la seule façon d'arriver à ça sans avoir à répéter 50 fois
la même opération est par une macro, mais j'arrive pas à trouver comment
faire une boucle et par rapport à quoi me baser pour prendre une référence.

Donc si quelqu'un peut m'aider.

Merci!




Avatar
géjoun
Salut,

Cette macro fait bien ce que je veux, elle en fait même trop!!! :-)
Car je voudrais que ça me "recale" mes largeurs de colonnes que de la
colonne I à la colonne DX, et là, c'est pas faute d'avoir cherché comment
définir la macro pour
cette plage dans le forum, mais j'arrive pas à l'intégrer à la macro ensuite.

Donc comment faire pour que la macro ne s'applique que de la colonne I à la
colonne DX?
Et au passage, quelle est l'utilité du "Count" aprés Columns dans ta macro?

Merci!

--
géjoun

/Enlever l''année pour m''écrire.../
Avatar
J
Bonjour
jusqu'à DX, nbre de colonnes est 126 donc nc6
et pour la première colonne, i= ce que tu veux, 9 pour I

voici la modif
bon courage
J@@

Sub largCol()
Application.ScreenUpdating = False
nc = 126 'Columns.Count
For i = 9 To nc Step 4
Columns(i).ColumnWidth = 0.25
Columns(i + 1).ColumnWidth = 3.29
Columns(i + 2).ColumnWidth = 4.57
Columns(i + 3).ColumnWidth = 4.57
Next
Application.ScreenUpdating = True
End Sub

que de la
colonne I à la colonne DX,


Avatar
RGI
comme tu ne veux que jusqu'au la colonne DX

au lieu de mettre le nombre totale de colonnes tu indique seulement le
nombre de colonnes désiré

qui doit être 128 pour DX si je ne me trompe pas

donc tu mets for i = 8 to 128 step 4

salutations

RGI

Salut,

Cette macro fait bien ce que je veux, elle en fait même trop!!! :-)
Car je voudrais que ça me "recale" mes largeurs de colonnes que de la
colonne I à la colonne DX, et là, c'est pas faute d'avoir cherché comment
définir la macro pour
cette plage dans le forum, mais j'arrive pas à l'intégrer à la macro ensuite.

Donc comment faire pour que la macro ne s'applique que de la colonne I à la
colonne DX?
Et au passage, quelle est l'utilité du "Count" aprés Columns dans ta macro?

Merci!




Avatar
RGI
ce qui doit donner quelque chose du genre

Sub largCol()
Application.ScreenUpdating = False
nc = Columns.Count
For i = 1 To nc
Columns(i).ColumnWidth = 12.75
Next
For i = 8 To 124 Step 4
Columns(i).ColumnWidth = 0.25
Columns(i + 1).ColumnWidth = 3.29
Columns(i + 2).ColumnWidth = 4.57
Columns(i + 3).ColumnWidth = 4.57
Next
Application.ScreenUpdating = True
End Sub

La colonne DX n'est pas dans un multiple de 4

donc il faut mettre 124 ou 128

Salutations

RGI
Avatar
géjoun
Cette fois-ci, c'est tout bon!
Et j'ai compris le principe de la plage, merci à vous deux!

--
géjoun

/Enlever l''année pour m''écrire.../



ce qui doit donner quelque chose du genre

Sub largCol()
Application.ScreenUpdating = False
nc = Columns.Count
For i = 1 To nc
Columns(i).ColumnWidth = 12.75
Next
For i = 8 To 124 Step 4
Columns(i).ColumnWidth = 0.25
Columns(i + 1).ColumnWidth = 3.29
Columns(i + 2).ColumnWidth = 4.57
Columns(i + 3).ColumnWidth = 4.57
Next
Application.ScreenUpdating = True
End Sub

La colonne DX n'est pas dans un multiple de 4

donc il faut mettre 124 ou 128

Salutations

RGI