Comment faire appel à un control

Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 - 17 juil. 2009 à 13:18
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 - 19 juil. 2009 à 13:19
Bonjour,

J'ai un souci avec des controles que j'ai ajouté avec la méthode "controls.add(vb.textbox, nom_de la_textbox)"

Le truc, c'est que j'ai fait un sstab dans lequel le textbox est généré automatiquement à l'ajout d'un tab.Le nom du textbox varie en fonction du tab (Par exemple : Si le tab2 est sélectionné, Le nom du textbox est "text2")

Mon souci, le voila, j'ai ajouté un bouton en dehors du sstab qui sert à supprimer un tab, donc mon idée pour faire ça, c'est de copier tout le contenu des textbox et de les coller au textbox qui le précède :

exemple : sur un sstab contenant 4 tabs, je supprime l'onglet 2, d'abord, je copie les textbox

donc text2.text text3.text, text3.text text4.text
Puis je supprime text4 et enfin le tab4.

Seulement il me dit qu'il y a une erreur quand je dis text2.text = text3.text

Comment remédier au probleme, merci d'avance

5 réponses

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
17 juil. 2009 à 15:09
Salut
Et quelle est cette erreur ?
Text2 et Text3 existent-ils à ce moment là ?
0
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 1
17 juil. 2009 à 16:02
J'ai pu remédier à cette erreur. Text2 et Text3 existent à ce moment-là. J'ai tapé ce code et il marche :
controls.item(text2).text = controls.item(text3).text

maintenant, j'ai un autre pb et celui-là je ne comprend pas, peut-être que tu peux m'aider.
Etant donné qu'il peut y avoir plusieurs textbox, j'uilise la boucle do while .... loop

voici le code : Option Explicit

Dim NbTab As Integer 'Variable SStab
Dim Left, Top, Width, Height As Integer 'Variable Textbox
Dim txtboxname As String
Dim N_txtboxname As String
Dim txtbox As TextBox
Dim y As Integer

Public Sub AddTab(x As Integer)

Left = "120"
Top = "480"
Width = "9615"
Height = "5175"
txtboxname = "Text" & x

With SSTab1
.TabsPerRow = x + 1
.Tabs = x + 1
.Tab = x
.Caption = CStr(x)
End With

Set txtbox = Controls.Add("VB.textbox", txtboxname, SSTab1)
With txtbox
.Visible = True
.Left = Left
.Top = Top
.Width = Width
.Height = Height
.Text = txtbox.Name
End With
End Sub

Public Sub RemoveTab(x As Integer)
' Le problème situe là
Do While x < SSTab1.TabsPerRow
txtboxname = "Text" & x
N_txtboxname = "Text" & x + 1
Controls.Item(txtboxname).Text = Controls.Item(N_txtboxname).Text
x = x + 1
Loop
End Sub

Private Sub Command1_Click()
NbTab = SSTab1.TabsPerRow
Call AddTab(NbTab)
End Sub

Private Sub Command2_Click()
NbTab = SSTab1.Tab
Call RemoveTab(NbTab)
End Sub

Private Sub UserControl_Initialize()
Call AddTab(0)
End Sub

Le problème, c'est que si j'ai 5 tabs au total et donc 5 textbox, il va me demandé text6 pourtant il n'existe pas et je précise que la boucle est inférieur au nombre total(5 tabs) de tab (donc 4 tabs)

Pourquoi ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 juil. 2009 à 02:32
... si je comprends bien tu n'as tenu compte de rien alors?!!

http://www.vbfrance.com/forum/sujet-OBJETS-DECALENT_1337310.aspx


[hr]
0
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 1
19 juil. 2009 à 12:35
pourquoi tu dis que j'ai tenu compte de rien ? j'ai remplacé ce que j'avais mis par ce que tu m'as conseillé, enfin je pense !!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Aurel62190 Messages postés 22 Date d'inscription dimanche 21 juin 2009 Statut Membre Dernière intervention 7 septembre 2009 1
19 juil. 2009 à 13:19
Et puis, en passant, je vois que tu m'as l'air bien calé dans le domaine. Est-ce que tu sé comment on fait pour que le usercontrol s'agrandit au fur et à mesure quand on le place dans le form?

Par exemple : si je prend le controle commandbutton pour le mettre dans le form, plus j'agrandie le control, plus le bouton s'agrandit mais pour le usercontrol, il reste à la taille initiale mais il ne varie pas en focntion de ce que je voudrais ....

Tu sais faire ça ?
0
Rejoignez-nous