Base de données

  • Initiateur de la discussion Mike
  • Date de début
M

Mike

Guest
Bonsoir le forum,
Je dispose d'une base de donnée dont toutes les informations sont placées dans des textbox d'un userform. Parmis les fonctions disponibles (ajouter une valeur, supprimer une valeur), je souhaite ajouter celle qui me permettrait de modifier une des valeurs dans la ligne sélectionnée de ma liste via l'userform. Ma macro ne fait que rajouter les valeurs dont celle que j'ai modifié dans une autre ligne en conservant l'ancienne. Comment dois-je m'y prendre pour que ce problème n'arrive plus?
Cordialement.
Mike
 

Rai

XLDnaute Junior
Salut,

'Allô Docteur, j'ai mal au bide. Que faire ?'
Ta question ressemble à ce cas de figure.

Sans patient sous la main, il va être difficile de t'apporter autre chose qu'une aide très 'généraliste'.

Peut-être pourrais-tu joindre un exemple à ta question ?

Ne sachant pas comment tu initialise tes USF, ni comment ta base est structurée, il devient hasardeux de répondre à ta question.

Un début de réponse :
identifier la ligne à changer (son N° me parait opportun).
identifier la/les valeurs à changer.
affecter les valeurs aux cellules

Pour l'identification de la ligne, comment faire ?
Tout dépend de ta méthode de gestion.
Soit tu procèdes par la recherche d'une clef primaire (donc unique) dans ta base. Soit tu connais déjà le N° de ligne (puisque tu l'utilises eventuellement dans ton USF).

En attendant de tes nouvelles,

Bonne fin de semaine
 
M

Mike

Guest
Bonjour Rai, le forum
Je te remercie pour ta réponse.
Pour être plus clair, dans ma liste, j'ai en A1 la valeur X, en A2 la valeur Y et en A3 la valeur Z. Ces valeurs sont envoyées dans le textbox1 pour X, le textbox2 pour Y et le textbox3 pour Z. Si je rentre K à la place de Y dans la textbox2, comment faire pour que la valeur K remplace Y dans la liste de ma feuille ?

Ci-dessous, ma macro :

Private Sub CommandButton1_Click()
Range('A65536').End(xlUp).Offset(1, 0).Select
ActiveCell.Value = TextBox1.Value
ActiveCell.Offset(0, 1).Value = TextBox2.Value
ActiveCell.Offset(0, 2).Value = TextBox3.Value
End Sub

Elle renvoie les valeurs dans la dernière ligne (A1, A2 et A3). Alors que je souhaite simplement qu'elle efface la valeur que je modifie (ex: K à ma place de Y) en conservant les autres intactes. Tout cela en restant dans la ligne.

Cordialement.
 

Hervé

XLDnaute Barbatruc
Bonjour

Ce qu'il nous faudrait savoir c'est comment tu alimentes ces textbox ?

Par un combobox, une listbox ou manuellement.

En effet, il faut que tu puisses récupérer le numéro de ligne ou se trouves les infos, et le mieux, c'est de récupérer ces infos lors de l'initialisation des textbox.

Ne pourrait-tu pas joindre un fichier en pièce jointe, - de 50 Ko, zippé, pas d'accent, pas d'espace.

A plus

Salut
 

Discussions similaires

Réponses
7
Affichages
466

Statistiques des forums

Discussions
313 061
Messages
2 094 928
Membres
106 129
dernier inscrit
Kami_54