gribouillex
Messages postés172Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention16 mai 2011
-
9 oct. 2006 à 16:03
gribouillex
Messages postés172Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention16 mai 2011
-
11 oct. 2006 à 16:34
Bonjour,
J'ai un bout de code qui me créé un tableau rempli de textbox., dont voici un extrait :
Dim TxtB As Control
Y = 1
For Each cell In Selection
Set TxtB = Me.Controls.Add("forms.Textbox.1")
With TxtB
.Left = X * 36
.Top = 30 + ((Y - 1) * 20)
.Width = 30
.Height = 15
.Text = cell.Value
End With
'etc
Mon problème est que j'aimerais plutôt mettre des RichTextBox à la place des Textbox... seulement quand je mets :
Set TxtB = Me.Controls.Add("forms.RichTextBox.1")
Eh bien, ça n'affiche plus rien....
Vous auriez pas une idée pour me dépanner ?
gribouillex
Messages postés172Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention16 mai 2011 11 oct. 2006 à 16:34
Bon, j'ai fini par trouver une solution alternative à mon problème...
En fait, dès que j'affectais une fonte spéciale aux textbox (une où j'ai transformé des caractères), il ne me la prennait pas vraiment en compte.
Je pensais qu'une Richtextbox reglerait le problème, mais finalement c'était pas la bonne solution...
Alors dès que je fais une modif, je lui dis d'affecter une fonte existante (Courier new par exemple) puis à nouveau ma fonte spéciale, et la ca fonctionne..
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 9 oct. 2006 à 18:42
Salut
Les TextBox font parties des composants standards alors qu'un RichTextBox est une librairie à part (RichTextLib).
Je ne peux pas t'en dire plus, n'étant pas habitué à cette syntaxe.
gribouillex
Messages postés172Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention16 mai 2011 10 oct. 2006 à 10:24
OK... je comprends mieux pourquoi ca ne fonctionne pas alors....
Est-ce que cela veut dire qu'il n'est pas possible d'ajouter dynamiquement des RichTextBox sur un Userform en fonction du nombre de cellules qu'il y a dans ma sélection ?
J'ai essayé de remettre le code en entier ici (en enlevant tout ce qui est inutile à l'exemple). Voici donc comment je récupère les données de ma sélection dans mes textbox, et comment je les renvoie dans les cellules un fois les informations corrigées.
Si vous avez la moindre petite idée, je suis preneur ! merci !
Private Sub UserForm_initialize()
Dim cell As Range
Dim X, Y As Integer
Dim TxtB As Control
X = 0
Y = 1
For Each cell In Selection
Set TxtB = Me.Controls.Add("forms.Textbox.1")
With TxtB
.Left = X * 50
.Top = 30 + ((Y - 1) * 20)
.Width = 50
.Height = 18
.Text = cell.Value
End With
m = m + 1
ReDim Preserve Tableau(2, m)
Tableau(0, m - 1) = TxtB.name
Tableau(1, m - 1) = cell.Address
' -------------
Private Sub CommandButton1_Click()
Dim I As Integer
For I = 0 To m - 1
Range(Tableau(1, I)) = Me.Controls(Tableau(0, I)).Object.Value
Next I