Richtextbox à la place de textbox [Résolu]

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

Messages postés
172
Date d'inscription
lundi 10 octobre 2005
Statut
Membre
Dernière intervention
16 mai 2011

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
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
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.
Messages postés
172
Date d'inscription
lundi 10 octobre 2005
Statut
Membre
Dernière intervention
16 mai 2011

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

oulah, j'ai oublié de mettre les infos suivantes à la fin du premier :

    Set TxtB = Nothing
Next cell
End Sub