Changer la valeur d'une cellule via un combobox

Mulder

XLDnaute Junior
Bonjour à tous,

Je cherche actuellement à modifier les caractéritiques d'une base de donnée, via un formulaire s'appuyant sur un combobox.
En clair, une prestation est identifiée par un code, et lui sont rattachées diverses informations (type de prestation, prix...).
Dans une boite de dialogue, en sélectionnant la prestation selon son code dans un combobox, j'affiche les informations dans des textbox.
Je peux donc modifier ces infos si besoin.
Problème : quand je valide le formulaire avec des infos modifiées, je n'arrive pas à actualiser la base de données...

Je pense que c'est juste le début qui coince.
J'arrive pas à me "placer" sur la cellule où est saisie la valeur alimantant le combobox4.
J'ai essayé d'arranger divers codes trouvés sur le forum, sans succès...

Voici mon code.
Pas le temps d'anonymer un fichier à uploader, éventuellement, je le ferai demain.

Code:
Private Sub CommandButton1_Click()

ligne = ComboBox4.RowSource

With Sheets("Dénominations")
If ligne = 0 Then Exit Sub
    .Range("B" & ligne).Value = TextBox2
    .Range("C" & ligne).Value = TextBox3
    .Range("D" & ligne).Value = ComboBox1
    .Range("E" & ligne).Value = ComboBox2
    .Range("F" & ligne).Value = ComboBox3
    .Range("G" & ligne).Value = TextBox4
End With

End Sub

D'avance merci !!!
 
G

Guest

Guest
Re : Changer la valeur d'une cellule via un combobox

Bonjour,

Code:
Private Sub CommandButton1_Click()
if ComboBox4.ListIndex = -1 then exit sub
ligne = ComboBox4.ListIndex+1
'......
End Sub

A+
 

Mulder

XLDnaute Junior
Re : Changer la valeur d'une cellule via un combobox

Bonjour Hasco,

Merci de t'intéresser à mon cas.
J'ai intégré ton code, déjà, la macro s'arrête plus sur une erreur.
En revanche, quand je valide, ça ne me recopie pas les données sur la ligne corresondante au code sélectionné, mais sur la première ligne de la table (les en-têtes de colonne).
Je comprends pas trop pourquoi...

Ci-joint un fichier de test pour illustrer, avec ton code intégré.

D'avance merci !!

Edit : avec la PJ, c'est mieux... :D
 

Pièces jointes

  • test.xls
    45 KB · Affichages: 198
  • test.xls
    45 KB · Affichages: 197
  • test.xls
    45 KB · Affichages: 211

Mulder

XLDnaute Junior
Re : Changer la valeur d'une cellule via un combobox

Effecivement, ça change tout.
Pour ma compréhension, comment fonctionne la ligne de programme ?
Combobox.ListIndex récupère la ligne où est prise la valeur dans le combobox, mais pourquoi +2 derrière ? Puisque la valeur est prise en A2, je comprends pas pourquoi on décalle avec +2 ??
 
G

Guest

Guest
Re : Changer la valeur d'une cellule via un combobox

Re,

Exemple:
Tu charges N de feuilles de calcul dans ta combo à partir de la ligne 2.
La première ligne de la combo a pour index 0
La première ligne des données de la feuille est 2

Le premier item de la combo a pour index 0
Donc Ligne=Combobox4.ListIndex + 2
soit Ligne = 0 +2

Si tu choisis la deuxième valeur dans la combo elle aura pour index : 1

Ligne = Combobox4.ListIndex +2 = 1+2 = 3

Où 3 est ton numéro de ligne de feuille de calcul.

A+
 

Discussions similaires

Réponses
0
Affichages
83
Réponses
1
Affichages
119

Statistiques des forums

Discussions
311 720
Messages
2 081 889
Membres
101 831
dernier inscrit
gillec