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

Remettre une colonne à sa largeur "par défaut"

25 réponses
Avatar
JièL
Salutatousse,

y'a t'il un moyen pour remettre une colonne à sa largeur "par défaut"
uns fois qu'elle à été modifié manuellement afin, par exemple, de
modifier la largeur de toutes les colonnes de la feuille ?

Merci d'avance

--
JièL Largement colonné

10 réponses

1 2 3
Avatar
isabelle
il n'existe pas d'événement associé au changement de largeur de colonne
j'ai essayé avec une fonction perso pour enclencher l'événement Worksheet_Calculate

Function largeur()
Application.Volatile
For i = 1 To Cells.Columns.Count
n = n + Sheets(1).Columns(i).Width
Next
largeur = n
End Function

Private Sub Worksheet_Calculate()
ActiveSheet.Cells.ColumnWidth = ActiveSheet.StandardWidth
MsgBox "rétablissement des largeurs de colonnes"
End Sub

mais ça fonctionne pas :-(
isabelle

Le 2015-08-03 17:38, isabelle a écrit :
salut à vous deux,

StandardWidth est une propriété de "worksheet",
si tu modifie la largeur d'une colonne cela ne modifie pas la valeur de
StandardWidth
celle-ci est définit dans les propriétées de chaque feuille
http://www.cjoint.com/c/EHdvLtWkIna

isabelle


Le 2015-08-03 17:15, JièL a écrit :
Bonjour/soir Isabelle de la Geolière

ça a failli être ça ;-)
C'est bien joué, mais cela sous entend que l'on relance cette macro à chaque
modif de la largeur standard.

Je sais, je suis ch***, et je suis quasi sûr que ce n'est pas possible.
A partir du moment ou l'on touche à une largeur de colonne, elle perd
(définitivement) l'attribut de "colonne de largeur standard"

Bon, je crois que j'ai collé tout le monde sur ce coup ;-)

Avatar
JièL
Merci beaucoup pour tes efforts Isabelle
Je pense que c'est tout simplement un "oubli" de la part de MS, donc je
range ça dans les "trucs à oublier" ;-)

Bises

--
JièL Ou bli heure


Le 04/08/2015 00:18, isabelle a écrit :
il n'existe pas d'événement associé au changement de largeur de colonne
j'ai essayé avec une fonction perso pour enclencher l'événement
Worksheet_Calculate

Function largeur()
Application.Volatile
For i = 1 To Cells.Columns.Count
n = n + Sheets(1).Columns(i).Width
Next
largeur = n
End Function

Private Sub Worksheet_Calculate()
ActiveSheet.Cells.ColumnWidth = ActiveSheet.StandardWidth
MsgBox "rétablissement des largeurs de colonnes"
End Sub

mais ça fonctionne pas :-(
isabelle

Le 2015-08-03 17:38, isabelle a écrit :
salut à vous deux,

StandardWidth est une propriété de "worksheet",
si tu modifie la largeur d'une colonne cela ne modifie pas la valeur de
StandardWidth
celle-ci est définit dans les propriétées de chaque feuille
http://www.cjoint.com/c/EHdvLtWkIna

isabelle


Le 2015-08-03 17:15, JièL a écrit :
Bonjour/soir Isabelle de la Geolière

ça a failli être ça ;-)
C'est bien joué, mais cela sous entend que l'on relance cette macro à
chaque
modif de la largeur standard.

Je sais, je suis ch***, et je suis quasi sûr que ce n'est pas possible.
A partir du moment ou l'on touche à une largeur de colonne, elle perd
(définitivement) l'attribut de "colonne de largeur standard"

Bon, je crois que j'ai collé tout le monde sur ce coup ;-)

Avatar
JièL
Le 03/08/2015 23:37, Jacquouille a écrit :
T'es certain d'être Jièl amuseur et non Jièl Maso ?



des fois j'ai des doutes ;-))))))

--
JièL d'ou t'heure
Avatar
JièL
Le 03/08/2015 23:37, Jacquouille a écrit :
...moffler...



je connaissais pas ce mot, merci pour ma cultivation ;-)

--
JièL culturé
Avatar
Jacquouille
Moffler, buser, pèter veulent dire en argot estudiantin belge, que les
profs n'ont pas voulu leur mettre assez de points pour ne plus les revoir.
Dans un sens, c'est donc bon signe puisque les-dits profs veulent les revoir
en septembre....

Pèter a une double signification:
bien française= faire un pet
estudiantine = avoir une pète = ne pas avoir ses points dans une
matière ---> avoir = ne pas avoir ......

Jacquouille contradictionneur

" Le vin est au repas ce que le parfum est à la femme."

"JièL" a écrit dans le message de groupe de discussion :
mppsr8$8qd$

Le 03/08/2015 23:37, Jacquouille a écrit :
...moffler...



je connaissais pas ce mot, merci pour ma cultivation ;-)

--
JièL culturé


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Patrick
avec un serre joint ? :)

Le 3/08/2015 18:34, JièL a écrit :
Salutatousse,

y'a t'il un moyen pour remettre une colonne à sa largeur "par défaut"
uns fois qu'elle à été modifié manuellement afin, par exemple, de
modifier la largeur de toutes les colonnes de la feuille ?

Merci d'avance





---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
JièL
euh... je connais pas la marque "serre", mais toi tu as du la fumer ;-)

--
JièL jointeur

Le 04/08/2015 11:32, Patrick a écrit :
avec un serre joint ? :)

Le 3/08/2015 18:34, JièL a écrit :
Salutatousse,

y'a t'il un moyen pour remettre une colonne à sa largeur "par défaut"
uns fois qu'elle à été modifié manuellement afin, par exemple, de
modifier la largeur de toutes les colonnes de la feuille ?

Merci d'avance

Avatar
MichD
Bonjour,

Je n'ai pas vraiment saisi ce que tu veux faire... ce que je propose n'enlève pas la possibilité
à l'usager de redéfinir la largeur d'une colonne, mais celle-ci retrouve sa valeur initiale dès
que l'usager sélectionne une nouvelle cellule.

Pour une feuille particulière du classeur
'--------------------------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Me.Cells.ColumnWidth = Me.StandardWidth
End Sub
'--------------------------------------

Si cela doit s'appliquer à toutes les feuilles du classeur, à mettre la procédure dans le
Thisworkbook
'--------------------------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Cells.ColumnWidth = Sheets(1).StandardWidth
End Sub
'--------------------------------------
Avatar
Jacquouille
Salut Denis

Il ne faut jamais dire que tu n'as pas compris la question. Tu remets en
doute la capacité du prof à énoncer quelque chose clairement.
Tu vas te faire moffler !!!
-))

Après trois échecs, je crois avoir compris ceci:
Lorsque tu ouvres une feuille, la largeur des colonnes est "standard" et
mesure 10,27 (pixels?)
Si tu changes la largeur, tu ne sais plus la remettre à "standard", mais tu
sais toujours la mettre à 10,27.
Si c'est pas cela, je suis viré des cours. -((

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
mpqm93$6uk$

Bonjour,

Je n'ai pas vraiment saisi ce que tu veux faire... ce que je propose
n'enlève pas la possibilité
à l'usager de redéfinir la largeur d'une colonne, mais celle-ci retrouve sa
valeur initiale dès
que l'usager sélectionne une nouvelle cellule.

Pour une feuille particulière du classeur
'--------------------------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Me.Cells.ColumnWidth = Me.StandardWidth
End Sub
'--------------------------------------

Si cela doit s'appliquer à toutes les feuilles du classeur, à mettre la
procédure dans le
Thisworkbook
'--------------------------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)
Sh.Cells.ColumnWidth = Sheets(1).StandardWidth
End Sub
'--------------------------------------


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
JièL
Bonjour MichD

Le 04/08/2015 17:37, MichD a écrit :
Je n'ai pas vraiment saisi ce que tu veux faire...



Rhhhaaaa la la la la ;-)

ce que je propose
n'enlève pas la possibilité
à l'usager de redéfinir la largeur d'une colonne, mais celle-ci retrouve
sa valeur initiale dès
que l'usager sélectionne une nouvelle cellule.



Merci, mais comme Isabelle ça n'est pas exactement ce que je cherche.
C'était plus une question rhétorique que pratique, mais je me lance dans
la GRANDE explication

Comme l'a (enfin ;-D) compris Jacquouille c'est la perte de l'attribut
"largeur standard" que je voudrais remettre à une colonne.

Je prend un exemple bête :
Sans le faire exprès je modifie la largeur de la colonne A. Quoi que je
fasse par la suite, elle n'aura plus jamais la largeur "standard" que je
pourrais mettre globalement à toutes les colonnes qui n'ont pas étés
modifiées.
Bien sur je pourrais lui donner la même dimension que celle définie dans
"largeur standard" mais il faudrait refaire la manip à chaque modif du
standard, c'est ça que je voudrais éviter, c'est à dire annuler ma
bétise d'avoir modifié manuellement une colonne.

Bien sur, je prend l'exemple d'1 seule colonne, mais ça peut s'appliquer
à un GROS paquet d'autres qui ne sont pas forcément contiguës et
évidement réparties un peu partout dans la feuille.

Merci pour vos efforts à tous, et du coup je "démoffle" tout le monde
;-))))))

--
JièL démoffleur
1 2 3