Que nenni Princesse,
c'est nous qui sommes à vos genoux, les présences féminines sont hautement appréciées, un peu de douceur, de sensibilité et je vois ici d'humour ... ne font de mal à personne.
Néanmoins ,
'Je suis très habituée d' un autre site où l'on ne fait pas tant de manière et où tout le monde se parle néanmoins très gentillement, et se remercie ensuite. Je pensais qu'aller à l'essentiel ferait moins perdre de temps à mes éventuels lecteurs.'
- Dire bonjour n'est pas ici (et ailleurs) faire des manières
- on se parle aussi avec gentillesse et respect
- bien souvent le Bonjour est associé au Merci (le manque aussi tu verras par toi même ...)
- on ne perd pas son temps à entamer un dialogue avec courtoisie
Bon , bref, le ménage est fait, donc :
Un extrait d'une intervention de JP Sabatier va te donner tout de suite la mesure du problème.
'Comment dimensionner les lignes et les colonnes en cm ? La largeur des colonnes dans excel est définie dans une unité qui n'en n'est pas une : elle dépend de la police par défaut... Du coup c'est pas si facile de dimensionner les Colonnes
en cm... Pour imprimer, vous aurez peut-être un décalage. Ce décalage dépend de l'imprimante choisie. Pas d'autre solution que de tatonner si vous avez besoin de quelque chose d'assez
précis.
1) pour les colonnes
Sub colonnesEnCentimetres()
Dim cm As Integer, points As Integer, savewidth As Integer
Dim count As Integer
Application.ScreenUpdating = False
cm = Application.InputBox('entrer la largeur de la colonne en cms',
'Largeur de la colonne souhaitée', Type:=1)
If cm = False Then Exit Sub
points = Application.CentimetersToPoints(cm)
savewidth = ActiveCell.ColumnWidth
ActiveCell.ColumnWidth = 255
If points > ActiveCell.Width Then
MsgBox 'la largeur de' & cm & 'est trop large' & Chr(10) & 'la valeur maxi est de ' & Format(ActiveCell.Width / 28.3464566929134, '0.00'), vbOKOnly + vbExclamation, 'largeur non valable'
ActiveCell.ColumnWidth = savewidth
Exit Sub
End If
lowerwidth = 0
upwidth = 255
ActiveCell.ColumnWidth = 127.5
curwidth = ActiveCell.ColumnWidth
count = 0
While (ActiveCell.Width <> points) And (count < 20)
If ActiveCell.Width < points Then
lowerwidth = curwidth
Selection.ColumnWidth = (curwidth + upwidth) / 2
Else
upwidth = curwidth
Selection.ColumnWidth = (curwidth + lowerwidth) / 2
End If
curwidth = ActiveCell.ColumnWidth
count = count + 1
Wend
End Sub
2) pour les lignes (nettement plus court car lignes et colonnes n'ont pas, au départ, les mêmes unités de mesure
Sub lignesEnCentimetres()
Dim cm As Integer
cm = Application.InputBox('entrer la hauteur de la ligne en
centimetres', 'Hauteur de la ligne souhaitée', Type:=1)
If cm Then
Selection.RowHeight = Application.CentimetersToPoints(cm)
End If
End Sub
Pour ce qui concerne les Shapes, un carré ou un cercle par exemple faire l'experience : Tracer un cercle de 8 cm de diametre, verifier les dimensions avec excel (format de la forme automatique, dimension) faire ensuite une impression avec Selection Aperçu Agrandir..... Taille normale 100 % En mesurant sur la feuille imprimée .... le cercle devient elipse Diametre Horizontal = 8 cm Diametre vertical = perte de 2 à 3 mm ?????
Je crois que cette fois le Mea culpa, mea culpa, mea maxima culpa c'est Excel qui le dira !
A très bientôt j'espère
l'association de Princesse Érika et d'Agnès Varda :whistle:
Bien cordialement
@+ GD