Richtextbox à la place de textbox

Résolu
gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 mai 2011 - 9 oct. 2006 à 16:03
gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 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 ?


 


Merci

4 réponses

gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 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..

c'est de la bidouille mais ca fonctionne...

bref, j'ai plus de problème

merci à tous
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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.
0
gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 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 
    
    Unload Me
End Sub
0
gribouillex Messages postés 172 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 16 mai 2011
10 oct. 2006 à 10:26
oulah, j'ai oublié de mettre les infos suivantes à la fin du premier :

    Set TxtB = Nothing
Next cell
End Sub

 
0
Rejoignez-nous