Référence ligne et modification valeurs

Bonjour,

Me revoici avec une nouvelle question.
J’ai fait un Userform de « MODIFICATION D’UNE SAISIE »

J’ai réussi à faire que les informations existantes s’affiche dans les bonnes case, selon le numéro ID de la ligne.

Mon problème est le suivant:

  1. Comment insérer les nouvelles informations saisies dans les cases du formulaire nommé précédemment à la bonne ligne selon le numéro ID ?

  2. Je souhaite aussi faire un contrôle des champs modifiés, si une valeur est différente de la valeur initiale, alors on remplace l’initiale par la nouvelle valeur et les autres ne change pas.

Sauriez-vous me dire comment faire ?

Merci d’avance pour votre aide.

Private Sub btnModification_Click()
If MsgBox(« Confirmez-vous la modification des données ? », vbExclamation + vbYesNo, « Demande de confirmation ») = vbYes Then
Sheets(« Liste transports »).Select 'Activation de l’onglet
'------------------------------------------------------
'Mettre le script de vérification du num ID de la ligne
'------------------------------------------------------

Ici, je souhaite faire un contrôle du numéro ID se trouvant dans ma colonne A pour ensuite insérer les valeurs ci-dessous à la bonne ligne et colonne.

'----------------------------------------------------------------------------------------
'Partie insertion des données des champs du formulaire dans l'onglet "Liste de Transport"
'----------------------------------------------------------------------------------------
        ActiveCell.Offset(0, 1) = txtDateTransport 'Date du transport
        ActiveCell.Offset(0, 2) = cboTypeTransport.Value 'Type de transport
        ActiveCell.Offset(0, 3) = cboFacture_a_au.Value 'Facturation au client ou H-JU
        ActiveCell.Offset(0, 4) = cboTypeFacture.Value 'Degré de facturation
        ActiveCell.Offset(0, 5) = cboPrestation.Value 'Type de prestation
        ActiveCell.Offset(0, 6) = cboVehicule.Value 'Véhicule utilisé
        ActiveCell.Offset(0, 7) = txtAdressePEC.Value 'Adresse de prise en charge
        ActiveCell.Offset(0, 8) = txtHeurePEC.Value 'heure de prise en charge
        ActiveCell.Offset(0, 9) = txtAdresseRDV.Value 'Addresse du RDV du client
        ActiveCell.Offset(0, 10) = txtHeureRDV.Value 'Heure du RDV du client
        ActiveCell.Offset(0, 11) = cboCivilite.Value 'Civilité de la personne
        ActiveCell.Offset(0, 12) = txtNomPrenom.Value 'Nom et prénom
        ActiveCell.Offset(0, 13) = txtDateAnni 'Date de naissance
        ActiveCell.Offset(0, 14) = txtTel 'Téléphone fixe et mobile
        ActiveCell.Offset(0, 15) = txtEmail.Value 'E-mail
        ActiveCell.Offset(0, 16) = txtDomicile.Value 'Adresse du domicile
        ActiveCell.Offset(0, 17) = cboMobilité.Value 'Mobilité de la personne
        ActiveCell.Offset(0, 18) = txtMotifRemarque.Value 'Motif/Remarque
        Else
'--------------------------------------
'Message si aucun champ n'a été modifié
'--------------------------------------
            MsgBox "Vous n'avez modifié aucun champ !", vbExclamation + vbDefaultButton1, "INFORMATIONS MANQUANTES !"
        End If
End Sub

Finalement, je viens de trouver ma solution selon mon type de fichier :smiley:.

Voici le script:

Private Sub btnModification_Click()
Set ws = Sheets(« Liste transports ») 'Sélection de l’onglet des données « Ws » = Worksheet
Dim L As Long 'c’est une variable et le (« L ») est pour indiquer (« ligne »), c’est un raccourci dans mon cas
If cboNumID.ListIndex = «  » Then Exit Sub 'Si le champ est vide, il ne fait rien
L = cboNumID.ListIndex + 2
If MsgBox(« Confirmez-vous la modification des données ? », vbExclamation + vbYesNo, « Demande de confirmation ») = vbYes Then
'----------------------------------------------------------------------------------------
'Partie insertion des données des champs du formulaire dans l’onglet « Liste de Transport »
'----------------------------------------------------------------------------------------
ws.Cells(L, « B ») = txtDateTransport 'Date du transport
ws.Cells(L, « C ») = cboTypeTransport.Value 'Type de transport
ws.Cells(L, « D ») = cboFacture_a_au.Value 'Facturation au client ou H-JU
ws.Cells(L, « E ») = cboTypeFacture.Value 'Degré de facturation
ws.Cells(L, « F ») = cboPrestation.Value 'Type de prestation
ws.Cells(L, « G ») = cboVehicule.Value 'Véhicule utilisé
ws.Cells(L, « H ») = txtAdressePEC.Value 'Adresse de prise en charge
ws.Cells(L, « I ») = txtHeurePEC.Value 'heure de prise en charge
ws.Cells(L, « J ») = txtAdresseRDV.Value 'Addresse du RDV du client
ws.Cells(L, « K ») = txtHeureRDV.Value 'Heure du RDV du client
ws.Cells(L, « L ») = cboCivilite.Value 'Civilité de la personne
ws.Cells(L, « M ») = txtNomPrenom.Value 'Nom et prénom
ws.Cells(L, « N ») = txtDateAnni 'Date de naissance
ws.Cells(L, « O ») = txtTel 'Téléphone fixe et mobile
ws.Cells(L, « P ») = txtEmail.Value 'E-mail
ws.Cells(L, « Q ») = txtDomicile.Value 'Adresse du domicile
ws.Cells(L, « R ») = cboMobilité.Value 'Mobilité de la personne
ws.Cells(L, « S ») = txtMotifRemarque.Value 'Motif/Remarque
MsgBox « Modification effectée ! »

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.