Taille d'une TextBox

Résolu
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007 - 12 mars 2007 à 14:32
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007 - 12 mars 2007 à 15:25
Bonjour à tous,
J'ai un petit souci avec Visual Basic et leur unité de mesure, en effet je cherche à généré des Bloc de Textes dans une feuille excel de la taille des cellules, un petit dessins pour comprendre
http://images.imagehotel.net/?cd09577770.jpg
J'ai fais une macro pour pouvoir initialiser la taille des cellules et la mettre dans une variable.

Sub LargeurCL()
    'Macro pour l'initialisation de la largeur des colonnes et des lignes'
    Dim Lc As Integer
    Dim Ll As Integer
    Set p = Sheets("Param")
   
    Lc = p.Cells(17, 4)
    Ll = p.Cells(18, 4)
   
    Sheets("EDT").Select
    Rows("3:100").RowHeight = Lc
    Columns("A:AZ").ColumnWidth = Ll
End Sub

Mais je n'arrive pas à créer des blocs de texte de la meme taille des cellules:

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 75, (15.5 + 9 * i), _ "<- Taille des textBox"
                  2 * 67.5, 4 * 12.75 / l).Select   "<- Taille des textBox"
                Selection.Characters.Text = q.Cells(i, 4) & Chr(10) & q.Cells(i, 17)
                With Selection.Characters(Start:=1, Length:=40).Font
                    .Name = pcm     'Police TextBox'
                    .FontStyle = "Normal"
                    .Size = tpcm    'Taille de la police'
                    .Strikethrough = False
                    .Superscript = False
                    .Subscript = False
                    .OutlineFont = False
                    .Shadow = False
                    .Underline = xlUnderlineStyleNone
                    .ColorIndex = 0
                End With
                Selection.ShapeRange.Fill.ForeColor.SchemeColor = k
                Selection.HorizontalAlignment = xlCenter

Je pense que le problème vient d'une conversion pixel / centimetre ou d'un truc comme ca.
Merci d'avance

4 réponses

aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
12 mars 2007 à 15:25
Ca marche niquel ton code [auteurdetail.aspx?ID=89254 jrivet]mais j'ai du le modifié un peu et ca donne ca :

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 75, (15.5 + 9 * i), _
                  6 * Range("B10").Width, 4 * Range("B10").Height).Select

Cela génere exactement un bloc de texte de la taille d'une cellule !!! terrible
Merci beaucoup à tout le monde pour votre disponibilité
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
12 mars 2007 à 14:40
Salut, pour une cellule excel de hauteur 12.75 cela correspond à une hauteur de 17 pixels et une largeur 10.71 à 80 pixels, si cela peut t'aider!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
12 mars 2007 à 14:58
Merci de ta réponse [auteurdetail.aspx?ID=786090 Drikce06] mais il n'y a pas un truc plus simple car ca m'oblige à
faire des calculs et donc d'alourdir l'algo
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 mars 2007 à 15:02
Salut,
J'ai testé ceci

ceci ajoute un textbox dont la hauteur est égale à trois fois la hauteur de la cellule B10 et dont la longueur est égale à trois fois la longueur de B10
Comme au préalable tu met toutes les cellules à la meme taille ce code devrait peu être t'aider.

Call Shapes.AddTextbox(msoTextOrientationHorizontal, Range("B10").Left, Range("B10").Top, 3 * Range("B10").Width, 3 * Range("B10").Height)
@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous