VBA - Modifier Valeur cellule + affichage dynamique sur pls colonnes
s
bonjour,
tout d'abord je tiens à signaler que je n'ai aucune formation en VBA, mais des notions en programmation.
J'ai parcouru un peu le web sans trouver de réponse satisfaisante.
voici mon code (certainement pas du tout optimisé)
'--------------------------------------
'Procédure de création des TextBox à placer dans l'UserForm.
'L'UserForm doit préalablement contenir un bouton nommé CommandButton1
Option Explicit
Dim Obj1 As Control
Dim Obj2 As Control
Dim Cl As Classe1
Dim i As Integer
Dim Nb_lignes As Integer
Dim produit As String, quantite As Integer, seuil As Integer
Private Sub UserForm_Initialize()
Nb_lignes = Range("A65536").End(xlUp).Row
Set Collect = New Collection
With Sheets("produits")
'Valeurs des variables
For i = 0 To Nb_lignes - 2
'boucle pour la création des TextBox
Set Obj1 = Me.Controls.Add("forms.TextBox.1")
Set Obj2 = Me.Controls.Add("forms.TextBox.1")
With Obj1
.Name = "MesTextBox" & i
.Object.Value = Cells(2 + i, 2)
.Left = 80
.Top = 20 * i + 10
.Width = 30
.Height = 20
produit = Cells(2 + i, 1)
quantite = Cells(2 + i, 2)
seuil = Cells(2 + i, 3)
If quantite > seuil Then
Obj1.Value = produit
Obj1.BackColor = &HFF00&
Obj1.Value = quantite
Obj1.BackColor = &HFF00&
' Sinon :
Else
Obj1.Value = produit
Obj1.BackColor = &HFF&
Obj1.Value = quantite
Obj1.BackColor = &HFF&
End If
End With
With Obj2
.Name = "MesTextBox2" & i
.Object.Value = Cells(2 + i, 1)
.Left = 5
.Top = 20 * i + 10
.Width = 80
.Height = 20
End With
'ajout de l'objet dans la classe
Set Cl = New Classe1
Set Cl.TxtBx = Obj1
Set Cl.TxtBx = Obj2
Collect.Add Cl
Next i
End With
End Sub
Donc mon code permet d'afficher dynamiquement des TextBox avec des valeurs.
Je cherche à créer un bouton (genre modifier) qui me permet de prendre en compte une valeur modifié dans une textbox après son affichage.
je ne sais pas si c'est très clair.
Ensuite, je cherche aussi à afficher le contenu sur plusieurs colonnes, ne sachant pas le nombre de ligne du tableau (le must avec un ascenseur si le tableau est vraiment grand)
merci pour votre aide
s
edit: j'ai oublié de joindre le fichier