XL 2019 Modifier données déjà saisies via userform

AIXELS

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous les Amis du Forum. :)
Je reviens vers vous une fois de plus.
J'ai réussi à créer un userform de saisie de données.
J'ai fait des recherches et j'ai adapté les codes que j'ai trouvés.
Le résultat est satisfaisant, mais peut-être pas académique pour les initiés.
J'aurais aimé en gardant le même masque pouvoir modifier
les données déjà saisies.
Pourriez-vous me mettre sur la piste.
Par avance merci pour votre aide.
Bien cordialement.
 

Pièces jointes

  • BDD_CLIENTS.xlsm
    71.5 KB · Affichages: 15

AIXELS

XLDnaute Occasionnel
Supporter XLD
Bonjour
Avec déroulant intuitif du combo nom en modif ou suppression
et avec correction (bien vu ;) )( réinit de la combo nom en fin de saisie)
interdiction caractères non numériques dans CP et N° tel
mise au format N° tel et
A tester
Bonjour @JM27 et tous les Amis du Forum :)
Merci pour ton retour.
Ta proposition est celle qui me convient le mieux.
J'aurais souhaité si c'était possible que tu puisses apporter
quelques modifications, après la saisie et en validant que :

- Adresse avec des Majuscules pour les noms importants
(Je te joint une fonction que j'ai trouvée)

- La ville caractères en Majuscules

- Observations 1ère lettre en Majuscule

- Trier la base par ordre alphabétique ordre croissant (A - Z)
Et ce après chaque action "Créer un client" ou "Modifier un client".

- Demander confirmation avant la suppression d'un client.

Je te joint une image écran de la saisie d'un nouveau client
et le résultat souhaité sur fond jaune.

VB:
'Fonction pour mettre en nom propre (1ère lettre en majuscule sauf le la des erc...)
Function NomPropre2(ByVal Nom As String) As String
   Dim TJn() As String, TExc(), N As Integer, Exclu
   TExc = Array("à", "au", "bis", "d'", "de", "des", "du", "en", "l'", "le", "la", "les", "ter")
   TJn = Split(Replace(LCase(Nom), "'", "' "), " ")
      For N = 0 To UBound(TJn)
         For Each Exclu In TExc
            If Exclu = TJn(N) Then Exit For
            Next Exclu

         If InStr("à au bis d' de des du en l' le la les ter", TJn(P)) _
            = 0 Then Mid$(TJn(N), 1, 1) = UCase(TJn(N), 1, 1)
         Next N
   NomPropre2 = Replace(Join(TJn, ""), "' ", "'")
   End Function

Merci pour ton aide.
Bien cordialement.
 

Pièces jointes

  • BDD_CLIENTS (5).xlsm
    108.6 KB · Affichages: 2
Dernière édition:

AIXELS

XLDnaute Occasionnel
Supporter XLD
Re @JM27
Merci pour ton retour.
Tout fonctionne très bien.
Une dernière demande que j'ai ajouté par la suite :
Avant la "suppression client", avoir un message
de confirmation. Si OK, on le supprime si Annuler

on abandonne l'action.
Merci pour ton aide.
Bien cordialement.
Re @JM27
Je n'avais pas rafraîchi l'écran.
Entre temps tu avais fait la modification.
Mille mercis pour ton travail et le temps
que tu as consacré.

Bien cordialement.
 

AIXELS

XLDnaute Occasionnel
Supporter XLD
tu remarqueras que j'ai ajouté des commentaires dans les macros , le but étant de t'en approprier , afin de pouvoir éventuellement modifier
J'étais entrain de lire tous tes commentaires et d'assimiler
toutes lignes de commandes. C'est du très bon travail de PRO.
Une dernière question, peut-on rafraîchir l'écran sur
le site XLD pour être sur la dernière page ou être prévenu d'une
nouvelle réponse ?
 

AIXELS

XLDnaute Occasionnel
Supporter XLD
Bonjour @Dranreb
Puis-je savoir en quoi la mienne vous convient moins ?
Je rends hommage à ton travail et au temps que tu as passé.
Au vu de mon petit niveau, je t'avoue que j'étais perdu dans
ton code qui vole trop pour moi.
En espérant un jour être à la hauteur de la qualité de ton travail.
Une fois encore merci pour ton travail et le temps que tu as passé.
Bien cordialement.
 

Discussions similaires