Pb sur macro pour modifier un enregistrement

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

helencompta

XLDnaute Nouveau
Bonjour à toutes et tous,

Je viens à nouveau demander de l'aide sur une macro qui me pose problème.
Je possède un fichier Excel contenant un onglet intitulé "Clients" sur lequel se trouve les données de mon fichier client (une ligne = 1 client, et j'ai pour chaque client 13 colonnes avec Nom, Prénom, Adresse... Téléphone, Code). Le code de mon client est un chiffre unique qui se trouve dans ma colonne 11.

J'ai un premier Userform (intitulé "CLIENTS") qui permet à l'utilisateur de consulter la fiche d'un client et qui renvoi les valeurs de mes colonnes dans des textbox. Ca fonctionne super bien.

J'ai un second useform (intitulé "MODIFIER_CLIENT") qui me permet de compléter ou modifier une fiche client (par exemple changement de téléphone) et là ça coince !

Dans l'ordre :
- quand je suis sur la fiche d'un client (userform CLIENTS) et quand je pousse un bouton, ça m'ouvre l'userform MODIFIER_CLIENT avec les données de ce client : OK
- je saisi des nouvelles valeurs ou efface des valeurs exstantes : OK
- je pousse le bouton "ENREGISTRER les MODIFS" et là : Pas OK

Voici mon code :

Code:
'Bouton ENREGISTRER
Private Sub CommandButton1_Click()
'Permet d'enregistrer les modifications saisies
 Dim i As Range
'recherche de la ligne ou figure le code du client (textbox1O) dans la feuille "Clients" dans la colonne 11 du classeur pour appliquer les modifications
With Sheets("Clients").Columns(11)
    i = .Cells.Find(TextBox10).Row
    
    i.Offset(1, -9).Value = TextBox1.Text 'Nom
    i.Offset(1, -8).Value = TextBox2.Text 'Prenom
    i.Offset(1, -7).Value = TextBox3.Text 'Adresse
    i.Offset(1, -6).Value = TextBox4.Text 'Complement
    i.Offset(1, -5).Value = TextBox5.Text 'Code Postal
    i.Offset(1, -4).Value = TextBox6.Text 'Ville
    i.Offset(1, -3).Value = TextBox7.Text 'Telephone Fixe
    i.Offset(1, -2).Value = TextBox8.Text 'Telephone Mobile
    i.Offset(1, -1).Value = TextBox9.Text 'Mail
    i.Offset(1, 1).Value = TextBox11.Text 'Couleur 1
    i.Offset(1, 2).Value = TextBox12.Text 'Couleur 2
    i.Offset(1, 3).Value = TextBox13.Text 'Couleur 3

    MsgBox "Les modifications sont enregistrées !"
End With
'Ferme la fenêtre Modifier_client
Unload MODIFIER_CLIENT
End Sub

Je vous remercie d'avance pour votre aide.
🙂
 
Re : Pb sur macro pour modifier un enregistrement

Bonjour Helencompta,
Un textbox renvoie du texte même si c'est des chiffres
par contre ceux de ta colonne 11 doivent être du numéric....
remplace i = .Cells.Find(TextBox10).Row
par i = .Cells.Find(Val(TextBox10)).Row
Non testé
Bruno
 
Re : Pb sur macro pour modifier un enregistrement

Bonjour helencompta

A tester modifier:

Code:
 i = .Cells.Find(TextBox10).Row

en

Code:
 set i = .Cells.Find(TextBox10).Row

ou mieux

Code:
 set i = .Cells.Find(TextBox10,lookin:=xlvalues,lookat:=xlwhole).Row

Edit : Salut Youki
OK avec toi si le code client est un nombre
 
Dernière édition:
Re : Pb sur macro pour modifier un enregistrement

Bonsoir Youki et Pierrejean,

Avec du retard, je vous remercie pour vos réponses. Je touche le bon bout !
Pour information, j'ai testé vos deux solutions, toutes deux efficaces, du coup, je vais tirer au sort 🙂

Encore merci,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Power Query Power Query
Réponses
26
Affichages
438
Réponses
12
Affichages
432
Réponses
7
Affichages
179
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
Retour