OVH Cloud OVH Cloud

Est-il possible de setter Columns(1).Width = X

7 réponses
Avatar
Alex St-Pierre
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées .Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text frame, je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un affiche ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 = 70.5 =>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon .Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre

7 réponses

Avatar
lSteph
Bonsoir "Alex St-Pierre",

Columns(1).ColumnWidth = 60.75

lSteph
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées .Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text frame,
je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un affiche
ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 = 70.5
=>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon .Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre


Avatar
Daniel
Bonsoir.
L'aide VBA dit "en lecture seule" en ce qui concerne l'objet "Range".
Cordialement.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées .Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text frame,
je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un affiche
ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 = 70.5
=>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon .Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre


Avatar
Alex St-Pierre
Pourquoi est-ce que Columns(1).Width = 66.75 ne fonctionne pas dans Excel ?
Je pense qu'Excel ne permet pas de définir une largeur de colonne de cette
façon car ça ne correspond pas à son standard d'unité qui est 12, 12.14, ...
Puisque 1 unité excel = 5.25 unités .width, cela revient à dire qu'il
faudrait avoir un nombre en .width qui est un multiple de 0.75 (1/7 * 5.25).
Est-ce exact ?

Merci !
--
Alex St-Pierre


"Daniel" wrote:

Bonsoir.
L'aide VBA dit "en lecture seule" en ce qui concerne l'objet "Range".
Cordialement.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées .Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text frame,
je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un affiche
ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 = 70.5
=>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon .Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre







Avatar
lSteph
...pardon, mal lu!

Columns(1).ColumnWidth = 66.75
MsgBox Columns(1).Width

renvoie 354

Je dois ajuster les largeurs de colonne mais avec leurs coordonées .Width
Est-ce que c'est possible ?


Juste que pour un Range ,
columnwith est en lecture ecriture
tandis que Width est en Lecture seule

'lSteph


"Alex St-Pierre" a écrit dans le
message de news:
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées .Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text frame,
je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un affiche
ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 = 70.5
=>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon .Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre


Avatar
lSteph
non!
c'est parceque width est en lecture-seule c'est pourquoi on ne peut le
modifier
il faut passer comme indiqué par columnwidth

Cprdialement.

"Alex St-Pierre" a écrit dans le
message de news:
Pourquoi est-ce que Columns(1).Width = 66.75 ne fonctionne pas dans Excel
?
Je pense qu'Excel ne permet pas de définir une largeur de colonne de cette
façon car ça ne correspond pas à son standard d'unité qui est 12, 12.14,
...
Puisque 1 unité excel = 5.25 unités .width, cela revient à dire qu'il
faudrait avoir un nombre en .width qui est un multiple de 0.75 (1/7 *
5.25).
Est-ce exact ?

Merci !
--
Alex St-Pierre


"Daniel" wrote:

Bonsoir.
L'aide VBA dit "en lecture seule" en ce qui concerne l'objet "Range".
Cordialement.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées
.Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text
frame,
je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un
affiche
ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 =
70.5
=>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon
.Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre









Avatar
Daniel
Je pense que c'est différent. Width peut te donner la largeur totale d'un
nombre quelconque de colonnes de largeur variable exprimée en points (1point
= 1/72 pouce sauf erreur). Quant à l'unité de compte de la largeur de la
colonne, c'est le nombre de zéros de la police par défaut et de la taille
par défaut qu'on peut y afficher.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Pourquoi est-ce que Columns(1).Width = 66.75 ne fonctionne pas dans Excel
?
Je pense qu'Excel ne permet pas de définir une largeur de colonne de cette
façon car ça ne correspond pas à son standard d'unité qui est 12, 12.14,
...
Puisque 1 unité excel = 5.25 unités .width, cela revient à dire qu'il
faudrait avoir un nombre en .width qui est un multiple de 0.75 (1/7 *
5.25).
Est-ce exact ?

Merci !
--
Alex St-Pierre


"Daniel" wrote:

Bonsoir.
L'aide VBA dit "en lecture seule" en ce qui concerne l'objet "Range".
Cordialement.
Daniel
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées
.Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text
frame,
je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un
affiche
ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 =
70.5
=>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon
.Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre









Avatar
lSteph
Une piste sans doute (approximatif) :

With Columns(1)
.ColumnWidth = 0.1
Do While .Width < CVar(60.75)
.ColumnWidth = .ColumnWidth + 0.1
Loop
End With

lSteph
"Alex St-Pierre" a écrit dans le
message de news:
Bonjour !

Je dois ajuster les largeurs de colonne mais avec leurs coordonées .Width.
Columns(1).ColumnWidth = 12 (ok)
Columns(1).Width = 66.75 (ne fonctionne pas) ????

Est-ce que c'est possible ?

Merci !

Solution alternative:
Width = 3,75 + Colonne.Width * 5.25
donc : 12 unités = 3.75+ 12*5.25 = 66.75 width
Cela dit: si mon texte mesure exactement 66.75 width dans un text frame,
je
dois ajouter 3.75 de plus pour les bordures excel (pour avoir un affiche
ok)
et donc, je veux Column.Width = 70.5 au total. Donc 3.75 + X + 5.25 = 70.5
=>
x = 12.7143 ou (66.75 / 5.25 directement)
Ce serait beaucoup plus simple si je pouvais setter directement mon .Width
dans Excel.
Columns(6).ColumnWidth = 12.7143
test = Columns(6).Width ' test = 70.5

Merci encore !

--
Alex St-Pierre