Insertion de données depuis un formulaire sur ligne selectionnée

Bonjour à tous,

Je reviens vers vous chercher une solution à un soucis assez simple pourtant, malgré une recherche dont je n'arrive pas à exprimer les termes.

J'ai un formulaire avec des textbox qui renvoie des données sur la dernière ligne non vide de mon tableau. Un classique.
Je cherche juste à insérer ces données sur la ligne qui est actuellement selectionnée.

Voici mon code :

Private Sub CommandButtonValider2_Click() 'Valide l'insertion 
Dim ligne As Integer

With Sheets("Onglet Contrôle")
ligne = OC.Cells(Rows.Count, 1).End(xlUp).Row '<---------- Tout se joue ici !
OC.Cells(ligne, 5) = TextBox1 
OC.Cells(ligne, 6) = TextBox2 
OC.Cells(ligne, 7) = TextBox3 
OC.Cells(ligne, 8) = TextBox4
OC.Cells(ligne, 9) = TextBox5 
OC.Cells(ligne, 10) = TextBox6 
OC.Cells(ligne, 11) = TextBox7 
OC.Cells(ligne, 12) = TextBox8
OC.Cells(ligne, 13) = TextBox9 
    End With
End Sub

Merci d'avance de votre aide !

Bonjour Lyatt, bonjour le forum,

Tu utilises la colonne 1 comme référence mais tes données sont renvoyées à partir de la colonne 5 ?!... Ensuite, il faut rajouter une ligne pour atteindre la première cellule vide de la colonne

Peut-être devrais-tu coder :

ligne = OC.Cells(Rows.Count, 5).End(xlUp).Row + 1

Me revoilà,

Alors tout à fait, petite erreur de ma part sur ma retranscription de code concernant la colonne de référence. (je travail sur un fichier test et un définitif mea culpa)

J'ai mal exprimé mon besoin.

J'ai déjà une ligne qui se créé automatiquement sur plusieurs onglets, 1, 2 et 3 via un formulaire.

Sur l'onglet 3, j'ai un autre form qui lui, doit pouvoir modifier n'importe quelle cellules d'un ligne qui est déjà rentrée auparavant, et non pas modifier ou créer la dernière ligne non vide du tableau.

Je souhaitais donc simplement appliquer des modifications envoyées par ce form à une ligne que je sélectionne de manière manuelle avant d'ouvrir le form.

J'espère ne pas vous avoir perdu encore un peu plus !

Re,

Oui c'est clair et simple résoudre :

ligne = ActiveCell.Row

Simple et clair comme les quelques fois où j'ai eu à faire à toi.
Merci beaucoup pour l’efficacité et la rapidité et désolé de la simplicité de la réponse, j'essayerais de faire plus complexe et amusant la prochaine fois !

Rechercher des sujets similaires à "insertion donnees formulaire ligne selectionnee"