[Catégorie modifiée .Net --> VBA] créer un userform et le lier à une feuille exc

cs_annielaurence Messages postés 2 Date d'inscription mercredi 29 septembre 2010 Statut Membre Dernière intervention 15 octobre 2010 - 15 oct. 2010 à 14:10
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 15 oct. 2010 à 15:20
Bonjour cher tous,
Je suis débutant de chez débutant dans vb et je dois créer un logiciel de gestion.
Pour la première étape, je suis entrain de créer un userform qui me permettra lors de son exécution de rentrer les données dans une feuille excel.Pour cela, j'ai écrit le code suivant:
Private Sub TextBox1_Change()
Dim plage1 As Range, plage2 As Range, plage3 As Range, plage4 As Range, cellule As Range
Set plage1 = Columns(1)
Set plage2 = Columns(2)
Set plage3 = Columns(3)
Set plage4 = Columns(4)
i = 2
Do Until plage2.Cells(i + 1) = ""
i = i + 1
Loop
plage2.Cells(i) = TextBox1
End Sub
Mais lorsque je relance le userform, au lieu d'aller à la ligne suivante, il efface ce qui était déjà rentré. Que faire?

De plus, j'essaye de remplir un combobox grâce au code suivant:
Private Sub ComboBox1_Initialize()
ComboBox1.AddItem "15%"
ComboBox1.AddItem "30%"
End Sub
Mais je ne vois pas mes valeurs quand je clique sur la flèche pour dérouler. Que faire?
Merci de vos réponses.
Bien cordialement.

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
15 oct. 2010 à 14:29
Salut

Note-bien la catégorie des questions liées au VB de Office (VBA)

Pour toi, que fait cette ligne :
plage2.Cells(i + 1)
Inspire toi de ma répionse à <cette autre question>, tu y apprendras comment parcourir toutes les cellules d'un Range et surtout, comment désigner une cellule proche.

Private Sub ComboBox1_Initialize()
est une Sub que tu as fabriquée toi même ?
Parce qu'il n'existe pas d'évènemlent _Initialize dans une ComboBox.
Ce n'est malgré tout pas interdit d'appeler une Sub ou Function comme cela, mais c'est troublant. Méfie toi pour l'avenir.
Puisqu'il s'agit d'une Sub perso, il faut la lancer.
Où la lances-tu ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_annielaurence Messages postés 2 Date d'inscription mercredi 29 septembre 2010 Statut Membre Dernière intervention 15 octobre 2010
15 oct. 2010 à 14:57
Merci Jack pour ta réponse. Je vais de ce pas voir cette réponse à "cette autre question".

Pour ma comboBox, en fait c'est comboBox1_Change() que j'ai utilisé finalement et là ça me répète les deux valeurs l'une après l'autre. Ceci dès que je saisi le premier chiffre.
0
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
15 oct. 2010 à 15:20
Bah oui, normal.
_Change se déclenche à chaque changement, donc il rajoutera ces items à chaque fois.
Réfléchis : Tu n'as besoin d'initialiser cette Combo qu'une seule fois, lors de la "création" de la UserForm, donc il vaudrait mieux se tourner vers les évènements de cette dernière.
0