cs_jujube
Messages postés19Date d'inscriptiondimanche 27 octobre 2002StatutMembreDernière intervention21 janvier 2013
-
8 janv. 2013 à 19:14
cs_jujube
Messages postés19Date d'inscriptiondimanche 27 octobre 2002StatutMembreDernière intervention21 janvier 2013
-
9 janv. 2013 à 17:49
Bonjour, j'aimerais savoir s'il est possible d'ajouter un contrôle MsFlexGrid à un formulaire par code(je suis encore avec VB6). Si oui, pourriez-vous me donner une piste s.v.p.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 9 janv. 2013 à 17:47
Allons bon !
Ce n'est pas du :
Forum > Visual Basic 6
et tu avais pourtant écrit :
je suis encore avec VB6
et j'ai donc une fois de plus perdu mon temps (et toi également) !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 8 janv. 2013 à 19:20
Bonjour,
Onglet "Composants" ===>> choisir FlexGrid Control (le cocher) ==>> Il apparait maintenant dans la boîte des contrôles et s'ajoute sur ton Form comme tout autre contrôle de cette boîte.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 9 janv. 2013 à 17:22
Fais-le comme tu le ferais pour ajouter dynamiquement un contrôle textbox, par exemple.
Reste que l'ajout ne pourra pas se faire si ce contrôle n'a pas été coché comme dit plus haut !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 9 janv. 2013 à 17:23
Le plus simple serait encore d'utiliser un groupe de contrôles Flexgrid indexés et d'y en ajouter un au fur et à mesure des besoins .
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
cs_jujube
Messages postés19Date d'inscriptiondimanche 27 octobre 2002StatutMembreDernière intervention21 janvier 2013 9 janv. 2013 à 17:41
Merci à vous deux, j'ai essayé d'adapter avec le code suivant mais sans résultat et mes références sont bien en place.
Le programme plante à cette ligne "Set ObjListBox = Usf.Designer.Controls.Add("Forms.MsFlexGrid.1")"
Option Explicit
Dim Usf As Object
Sub lancementProcedure()
Dim X As Object
Dim i As Integer
Dim strList As String
'strList = "ListBox1"
strList = "MsFlexGrid1"
Set X = creationUserForm_Et_listBox_Dynamique(strList)
'For i = 1 To 10
'X.Controls(strList).AddItem "Donnee " & i
'Next i
X.Show
ThisWorkbook.VBProject.VBComponents.Remove Usf
Set Usf = Nothing
End Sub
Function creationUserForm_Et_listBox_Dynamique(nomListe As String) As Object
Dim ObjListBox As Object
Dim j As Integer
Set Usf = ThisWorkbook.VBProject.VBComponents.Add(3)
With Usf
.Properties("Caption") = "Mon UserForm"
.Properties("Width") = 300
.Properties("Height") = 200
End With
Set ObjListBox = Usf.Designer.Controls.Add("Forms.MsFlexGrid.1")
'Set ObjListBox = Usf.Designer.Controls.Add("Forms.listbox.1")
With ObjListBox
.Left 20: .Top 10: .Width = 90: .Height = 140
.Name = nomListe
.Object.ColumnCount = 1
.Object.ColumnWidths = 70
End With
With Usf.CodeModule
j = .CountOfLines
.InsertLines j + 1, "Sub " & nomListe & "_Click()"
.InsertLines j + 2, "If Not " & nomListe & ".ListIndex = -1 Then MsgBox " & nomListe
.InsertLines j + 3, "End Sub"
End With
VBA.UserForms.Add (Usf.Name)
Set creationUserForm_Et_listBox_Dynamique = UserForms(UserForms.Count - 1)
End Function