Bouton modifier
bonjour ,
dans mon code je souhaite si je clique dur le bouton "enregistrer les modifications" , ces modification s'enregistre dans les champs qui sont relié au login déja saisi "textBox14" , dans mon code il ya toujours insertion d'un nouvelle ligne dans le fichier excel feuil "SHEET1" moi je veux pas insertion d'un nouvelle ligne je veux modifier la ligne qui comporte le login saisi "textBox14"
voila le code du bouton
Private Sub CommandButton1_Click()
Dim ligne As Integer
If ComboBox2.Value = "" Or ComboBox3.Value = "" Or ComboBox4.Value = "" Or TextBox1.Value = "" Or TextBox2.Value = "" Or TextBox5.Value = "" Or TextBox7.Value = "" Or TextBox8.Value = "" Or TextBox9.Value = "" Or TextBox10.Value = "" Or TextBox11.Value = "" Or TextBox12.Value = "" Then
MsgBox "Des champs manquants "
Else
If MsgBox("confirmez-vous les modification ? ", vbYesNo, "confirmation") = vbYes Then
With tracing_logins
ligne = .ListRows.Count 'dernière ligne ajoutée
.ListColumns("Login Windows").DataBodyRange.Rows(ligne) = login_saisi
.ListColumns("UserName").DataBodyRange.Rows(ligne) = TextBox1.Value
.ListColumns("UserId").DataBodyRange.Rows(ligne) = TextBox2.Value
.ListColumns("UserType").DataBodyRange.Rows(ligne) = ComboBox2.Value
.ListColumns("environment").DataBodyRange.Rows(ligne) = ComboBox3.Value
.ListColumns("legal Entity").DataBodyRange.Rows(ligne) = TextBox5.Value
.ListColumns("Facility per default").DataBodyRange.Rows(ligne) = ComboBox4.Value
.ListColumns("warehouse").DataBodyRange.Rows(ligne) = TextBox7.Value
.ListColumns("departement").DataBodyRange.Rows(ligne) = TextBox8.Value
.ListColumns("job Description").DataBodyRange.Rows(ligne) = TextBox9.Value
.ListColumns("e-mail").DataBodyRange.Rows(ligne) = TextBox10.Value
.ListColumns("Date starting").DataBodyRange.Rows(ligne) = CDate(TextBox12.Value)
.ListColumns("Date ending").DataBodyRange.Rows(ligne) = CDate(TextBox11.Value)
.ListColumns("Poste/roles").DataBodyRange.Rows(ligne) = Join(choix_rôles, Chr(13) & Chr(10))
End With
Call réafficher_formulaire: Unload Me
End If
End If
End Sub
et pour mieux comprendre voici le joint
Bonjour,
Sub CommandButton5_Click
ne semblait pas trouver la bonne ligne.
Une fois corrigé ... j'ai utilisé le même bout de code sur Sub CommandButton1_Click
pour trouver la ligne.
ric
bonjour
merci RIC POUR la reponse mais en fait je veux parcourir le fichier excel et la modification se fait en meme ligne qui comporte la valeur "TextBox14" du UserFormMODIF.
le Private Sub CommandButton5_Click() se fonctionne parfaitement c à d si je mets "marwa" il affiche les données relié a cette login "marwa" mais le problème dans Private Sub CommandButton1_Click() .
je veux remplacer ce code
ligne = .ListRows.Count
qui est fait la modification dans la derniere ligne par un autre code qui fait la modification sur la ligne qui comporte la valeur du "TextBox14" . et qui existe deja dans la colonne A "login windows" du SHEET1.
voila une autre version plus claire
et merciii d'avance
Bonjour,
Il y a un tableau qui se nomme "Tracing_logins".
Il y a déclaration d'une variable "Dim Tracing_logins As ListObject".
Il y a "Set Tracing_logins = Feuil6.ListObjects(1)".
Il semble que cela rende le déroulement du code instable.
Parfois, le code fonctionne bien et parfois il utilise la mauvaise ligne.
Je ne suis pas un expert ... je vais tenter de démêler cela et rendre le code stable.
ric
Bonjour,
Un autre essai ...
J'ai remplacé la variable "Dim Tracing_logins As ListObject" par "Dim Tlogins As ListObject" et adapté le code.
La confusion semble éliminée et le code semble bien fonctionner.
Je n'ai utilisé que le formulaire "UserFormMODIF" ... n'ayant pas le chemin complet à emprunter pour s'y rendre.
ric
merci Ric au autre fois pour tes essais , j'ai resolu le problème et tout va bien , je le mettre ici pour vous si vous voulez
à la prochaine