Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lignes et colonnes en centimètres avec macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

papapaul

XLDnaute Impliqué
🙂 Bonjour Forum,
Je suis entrain de "m'amuser" à construire un truc pour
faire des cartes de visites ou étiquettes etc avec des dimensions
réglables à la demande.
J'ai retrouvé des codes (j'ai pas tout compris) que j'ai un
peu adapter à mes besoins. Ca marche déjà très bien
mais j'ai quand même 1 petit problème.
Si je tape par exemple colonne 10, à l'impression j'obtiens 10,5.😕
J'ai essayé sur différentes imprimantes, c'est pareil.
Alors pour peaufiner, je pensais modifie Type:=1
qui si je comprends n'accepte que les nombres entiers
en 1.5 ou 3,5 pour autoriser les décimales
pour même si je dois tatonner, arriver à 10 cm très précis.
mais c'est peut-être pas possible ?
Sinon, j'utiliserais quand même ces macros
et fignolerais "à la main".
En attendant si ca peut aider quelqu'un, tant mieux.
Amitiés à tous 😉
 

Pièces jointes

Re : Lignes et colonnes en centimètres avec macro

😱 Petite question qui me vient à l'esprit.
C'est vrai que j'ai pas encore cherché mais existerait-il
une sorte de table de conversion des points en centimètres ?
Par exemple je mets ma colonne A à 13,14 la B 42,57
En additionnant les 2 je verrais que 55,71 donne 11 cm. 🙄
Bonne journée 🙂
 
Re : Lignes et colonnes en centimètres avec macro

bonjour Papapaul
regarde ce code,je pense que c'est plutôt cm vers point que tu dois penser

'code Microsoft
'The following Visual Basic for Applications procedures allow you to specify the
'row and column widths in centimeters:

Sub RowHeightInCentimeters()
Dim cm As Integer
' Get the row height in centimeters.
cm = Application.InputBox("Enter Row Height in Centimeters", _
"Row Height (cm)", Type:=1)
' If cancel button not pressed and a value entered.
If cm Then
' Convert and set the row height
Selection.RowHeight = Application.CentimetersToPoints(cm)
End If
End Sub

Sub ColumnWidthInCentimeters()

Dim cm As Integer, points As Integer, savewidth As Integer
Dim lowerwidth As Integer, upwidth As Integer, curwidth As Integer
Dim Count As Integer

' Turn screen updating off.
Application.ScreenUpdating = False
' Ask for the width in inches wanted.
cm = Application.InputBox("Enter Column Width in Centimeters", _
"Column Width (cm)", Type:=1)
' If cancel button for the input box was pressed, exit procedure.
If cm = False Then Exit Sub
' Convert the inches entered to points.
points = Application.CentimetersToPoints(cm)
' Save the current column width setting.
savewidth = ActiveCell.ColumnWidth
' Set the column width to the maximum allowed.
ActiveCell.ColumnWidth = 255
' If the points desired is greater than the points for 255
' characters...
If points > ActiveCell.Width Then
' Display a message box because the size specified is too
' large and give the maximum allowed value.
MsgBox "Width of " & cm & " is too large." & Chr(10) & _
"The maximum value is " & _
Format(ActiveCell.Width / 28.3464566929134, _
"0.00"), vbOKOnly + vbExclamation, "Width Error"
' Reset the column width back to the original.
ActiveCell.ColumnWidth = savewidth
' Exit the Sub.
Exit Sub
End If
' Set the lowerwidth and upper width variables.
lowerwidth = 0
upwidth = 255
' Set the column width to the middle of the allowed character
' range.
ActiveCell.ColumnWidth = 127.5
curwidth = ActiveCell.ColumnWidth
' Set the count to 0 so if it can't find an exact match it won't
' go on indefinitely.
Count = 0
' Loop as long as the cell width in is different from width
' wanted and the count (iterations) of the loop is less than 20.
While (ActiveCell.Width <> points) And (Count < 20)
' If active cell width is less than desired cell width.
If ActiveCell.Width < points Then
' Reset lower width to current width.
lowerwidth = curwidth
' set current column width to the midpoint of curwidth
' and upwidth.
Selection.ColumnWidth = (curwidth + upwidth) / 2
' If active cell width is greater than desired cell width.
Else
' Set upwidth to the curwidth.
upwidth = curwidth
' Set column width to the mid point of curwidth and lower
' width.
Selection.ColumnWidth = (curwidth + lowerwidth) / 2
End If
' Set curwidth to the width of the column now.
curwidth = ActiveCell.ColumnWidth
' Increment the count counter.
Count = Count + 1
Wend
End Sub

à bientôt
 
Re : Lignes et colonnes en centimètres avec macro

🙂 Merci Bébère, Staple,
Pas le temps de tout regarder,
La macro de Bébère j'essaye de regarder ce soir,
Pour Staple :
La table exemple de microsoft est vraiment trop succinte😎
mais ca à l'air de coller pas mal (pour les lignes)
ex ici sur mon poste ca donne : Points 36 = 1,24 cm (pas 1,27)
C'est déja pas mal, je vais chercher s'il existe des tables
plus complètes et surtout aussi pour les colonnes.
Je tiens le forum au courant si je trouve quelque chose de + complet.
Merci encore @+
 
Re : Lignes et colonnes en centimètres avec macro

🙂 Salut le Forum
Tout d'abord, je viens de l'apprendre, JYLL nous a quitté rècemment🙁
alors une petite pensée pour lui et comme je pense qu'il l'aurait voulu,
xld doit continuer, alors continuons................................

A force de ramer, j'ai fini par trouver un code beaucoup plus simple
de Eric_C qui me convient parfaitement. (merci à lui) qui fonctionne
directement sur une cellule et pas comme j'étais parti, ligne ou colonne entière.
Restait le problème des décimales. En vrai j'ai besoin de pouvoir
Mettre des hauteurs de lignes à 1,5 , 2 ou 3,5 cm etc…
pareil pour la largeur des colonnes 2, 2,5, 10 ou 10,5 cm etc…
Alors comme j'ai pas tout compris, j'ai tout simplement ajouté
Dans la macro : /10
Faut donc juste savoir que si on veut 1 ou 2,5 cm
Et bien il faut saisir dans les inputbox 10 ou 25 etc…
Faudra que j'améliore les msgbox mais c'est pas fini.
Y a sûrement mieux mais c'est un début.
Pour ceux que ça peut intéresser, je joins quand même 1 petit truc ou il y a les équivalences à un chouia près :
entre centimètres et points excel (colonnes Feuil1 et lignes Feuil2)
Je me suis arrêter à 4 cm, pour la suite je vous laisse faire.
Amitiés à tous 😉
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…