Lier des textboxes a des cellules excel sur différentes feuilles
ToBee
Messages postés10Date d'inscriptionsamedi 25 mars 2006StatutMembreDernière intervention28 septembre 2012
-
15 mars 2011 à 12:23
ToBee
Messages postés10Date d'inscriptionsamedi 25 mars 2006StatutMembreDernière intervention28 septembre 2012
-
15 mars 2011 à 13:55
Bonjour bonjour,
Je cherche à lier mes textboxes à des cellules excel à leur création (les textboxes se créent suivant certains paramètres après un clic).
J'ai lu qu'il fallait utiliser .controlsource ou bien un OLEobject pour avoir la propriété .linkcell mais je n'y arrive pas.
Voici mon code qui foire uniquement pour la liasion Txtbx <=> cellule excel
For i = i To NbCol
Set TextBox = UserForm2.Controls.Add("Forms.TextBox.1")
Lig = Worksheets(Feuille).Range("A65536").End(xlUp).Row + 1
Set Merde = Worksheets(Feuille).Cells(Lig, i)
If i < 25 Then
With TextBox
.Name = TextBoxName
.Top = 18 * i
.Width = 66
.Height = 15.75
.Left = 80
'.ControlFormat.LinkedCell = Merde
End With
.
.
.
.
.
(etc...)
Si quelqu'un peut m'aiguiller ca serait sympa !
A voir également:
Lier des textboxes a des cellules excel sur différentes feuilles
ToBee
Messages postés10Date d'inscriptionsamedi 25 mars 2006StatutMembreDernière intervention28 septembre 2012 15 mars 2011 à 13:55
Sinon j'ai la solution d'inscrire le contenu des textboxes sur les feuilles avec un clic mais j'ai un problème de compteur.
Quand la procédure change de feuille le numéro de colonne ne revient pas à zéro.
Je vous montre le code :
[mes feuilles s'appellent Charcuterie, Viande et Poulet ; mes textboxes sont créées avec les mêmes noms suivant des checkboxes en début de form]
Public Sub Bob_Click()
Dim Col, Lig, i As Integer
Dim Ctl As Control
i = 1
Col = 0
For Each Ctl In UserForm2.Controls
If TypeName(Ctl) = "TextBox" Then
Col = 1 + Col
Select Case Ctl.Name
Case "Charcuterie":
Lig = Worksheets(Feuille).Range("A65536").End(xlUp).Row + 1
Worksheets("Charcuterie").Cells(Lig, Col) = Ctl.Text
Case "Viande":
Lig = Worksheets(Feuille).Range("A65536").End(xlUp).Row + 1
Worksheets("Viande").Cells(Lig, Col) = Ctl.Text
Case "Poulet":
Lig = Worksheets(Feuille).Range("A65536").End(xlUp).Row + 1
Worksheets("Poulet").Cells(Lig, Col) = Ctl.Text
End Select
End If
Next Ctl
End Sub