Doublon client USF

Bonsoir le forum,

J'aimerais modifier un petit truck dans l'usf (NouveauClient)

J'aimerais qu'un msgbox (question) apparaisse lorsque j'ajoute un nouveau client déjà existant (au même nom)

MsgBox ("Le client existe déjà, le remplacer ?)

Si OUI : écraser sinon NON pour annuler

Deuxième petit problème :

Dans l'usf (ModifierClient), lorsque je l'ouvre, des l'ouverture il me sélectionne le combobox (CVille)

J'aimerais qui me sélectionne le textbox (TNom)

j'ai regardé dans les paramètre des tabindex mais j'ai pas réussi

Je vous mets mon fichier

Merci d'avance

a+

https://www.cjoint.com/c/CHtaxCabXrp

Bonsoir,

Personne peux m'aider à résoudre mon problème?

Bonsoir Banzai64,

Merci pour le fichier

Pour mon second problème tu as une solution?

Lorsque j'ouvre l'usf ModifierClient il me sélection le combobox des l'ouverture

Re,

On peut rajouter un petit truck dans le code que tu m'as proposé,

Dans le msgbox on peut l'écrire comme ça ?

"´Nom de société' existe déjà, l'écraser ?"

Bonjour

Ronibo a écrit :

Lorsque j'ouvre l'usf ModifierClient il me sélection le combobox des l'ouverture

Tu es sur ?

Moi j'ai la TextBox ( Tnom ) de sélectionnée (le curseur clignote à l'intérieur)

Ronibo a écrit :

"´Nom de société' existe déjà, l'écraser ?"

Le message que j'y ai inscris "Ce nom existe déjà : On remplace les données ?"

Tu peux le modifier si tu veux

Re,

Je vais revérifier les paramètre.

Je trouve pas mon erreur sur se code

Tu peux regarder stp

If MsgBox("Le client nommé & TNom & existe déjà, l'écraser ?", vbInformation + vbYesNo + vbDefaultButton2, "Attention") <> vbYes Then Exit Sub

Bonjour

Le client est déjà affiché à l'écran en majuscules et tu veux le marquer encore

If MsgBox("Le client nommé " & TNom & " existe déjà, l'écraser ?", vbInformation + vbYesNo + vbDefaultButton2, "Attention") <> vbYes Then Exit Sub

Re,

Merci Banzai64

En faisant des test j'ai rencontré une erreur sur ce code

Private Sub ComboBox1_Change()
' Changement du nom
Dim I As Integer
Dim Ligne As Long
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 4
With Sheets("Clients")
For I = 1 To 5
Me.Controls("TextBox" & I) = .Cells(Ligne, I)
Next I
Me.TNom = .Cells(Ligne, "A")
Me.TAdresse = .Cells(Ligne, "B")
Me.TCodePostal = Split(.Cells(Ligne, "C"))(0)
Me.CVille = Right(.Cells(Ligne, "C"), Len(.Cells(Ligne, "C")) - 6)
Me.TNuméroTéléphone = .Cells(Ligne, "D")
Me.TEmail = .Cells(Ligne, "E")
End With
End Sub

J'ai ce problème lorsque j'ai répondu OUI à la question Ce client existe déjà, on l'écraser?

Il me tient bien en compte des modifs, mais lorsque je sélectionne un client dans l'usf "modifierclient" la ça bloque sur le code ci dessus

J´arrête le débogueur, et lorsque j'ajoute un nouveau client, le nouveau client s'enregistre pas sur le classeur "client"

Bonjour

Il ne faut pas tout mélanger

Ronibo a écrit :

J'aimerais modifier un petit truck dans l'usf (NouveauClient)

Je n'ai modifié le code que sur cet Userform et en aucun cas sur l'Userform (ModifierClient)

Ce problème tu l'avais avant de faire ta demande

J'ai fais quelque tests et je n'ai pas ce problème

Détailles exactement les actions que tu fais

Fournis le dernier fichier en cours (je me suis embêté à indenter le code, pour une meilleure lecture - ne l'enlèves pas)

Bonjour,

C'est bizarre que ça fasse pas sa chez toi, je viens même d'essayer sur le fichier que tu m'as donné, j'ai le même problème.

Puis j'ai réessayé sur le fichier de mon première post de ce sujet, toujours pareil, tu as raison j'avais ce problème bien avant

Et après tout on a touché que l'usf "NouveauClient", comme tu l'as dit.

Voici les étape que je fais pour avoir l'erreur :

01 - J'ouvre l'USF "NouveauClient",

02 - Je saisie dans "Nom de la société" un nom identique que j'ai déjà saisie auparavant

03 - Je réponds "OUI" à la question

04 - Puis j'ouvre l'USF "ModifierClient" je sélectionne depuis la liste déroulante "Sélectionner un client"

05 - Je clic sur "Débogage"

J'ai été précis?

A+

Bonjour

Et bien chez moi cela fonctionne

Mais je pense avoir compris c'est que tu ne mets pas de code postal ni de ville

Modifies ton code (lignes surlignées)

Me.TCodePostal = Split(.Cells(Ligne, "C"))(0)
If Len(.Cells(Ligne, "C")) > 6 Then
Me.CVille = Right(.Cells(Ligne, "C"), Len(.Cells(Ligne, "C")) - 6)
End If
Me.TNuméroTéléphone = .Cells(Ligne, "D")
Me.TEmail = .Cells(Ligne, "E")
End With
End Sub

Re,

Merci beaucoup Banzai64

A+

Bonjour,

Bonjour Banzai64

Je me permet de remonter le sujet car j'ai rencontré un petit souci (rien de grave)

Lorsque j'ajoute deux client :

1er client :

Nom : Test1

Adresse : 1 rue test

Code postal et Ville : 75000 PARIS

Téléphone : 01 01 01 01 01

Mail : Test@hotmail.com

2ème client :

Nom : Test2

Adresse : vide

Code postal et Ville : vide

Téléphone : vide

Mail : vide

Lorsque je sélectionne depuis le combobox de l'usf "ModifierClient" le client test1,

puis si je sélectionne le client "Test2" dans l'usf, il me garde en mémoire la ville du client1, alors que normalement il n'y devrait rien à voir dedans.

A+

J'espère que j'ai été le plus précis

Bonjour

Modifies ta macro

Private Sub ComboBox1_Change()

' Changement du nom

Dim I As Integer

Dim Ligne As Long

Dim Ctrl As Control

For Each Ctrl In Me.Controls

If TypeName(Ctrl) = "TextBox" Then

Ctrl = ""

End If

Next Ctrl

Me.CVille.ListIndex = -1

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 4

Bonsoir,

Merci pour le code Banzai64

Au faite j'ai pu identifier mon problème de curseur,

Lorsque je sélectionne un client (avec une ville saisie depuis l'usf "ModifierClient" le curseur se mets automatiquement dans le combobox "CVille"

Je t'embête pour des truck bidons, je sais... mon but est d'utiliser la touche TAB.

A+

Bonsoir,

Banzai64 tu as pas de solution à mon petit problème?

A+

Bonsoir

Ronibo a écrit :

Banzai64 tu as pas de solution à mon petit problème?

Quel problème ?

Pas de question dans ton message précédent

Re

Désolé j'ai oublié de la poser

Je voudrais éviter que le curseur ne soit pas dans le combobox "CVille" lorsque je sélection un client

A+

Bonsoir

Dans la macro Private Sub ComboBox1_Change()

Rajoutes la ligne

    Me.TNuméroTéléphone = .Cells(Ligne, "D")
    Me.TEmail = .Cells(Ligne, "E")
  End With
  Me.TNom.SetFocus
End Sub

Et si tu veux dans la macro Private Sub TCodePostal_Change()

Supprimes la ligne commentée

      End If
    End With
   'CVille.SetFocus
  End If
End Sub
Rechercher des sujets similaires à "doublon client usf"