Taille d'une TextBox [Résolu]

Signaler
Messages postés
104
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
30 avril 2007
-
Messages postés
104
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
30 avril 2007
-
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

Messages postés
104
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
30 avril 2007

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é
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
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:
Messages postés
104
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
30 avril 2007

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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
55
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