Remplacer la valeur saisie par son code

Bonjour,

La macro suivante permet à l’utilisateur de saisir des prévisions et puis de créer un fichier CSV qui est déposé automatiquement sur le réseau dès lors que l’utilisateur clique sur ENVOYER.

Je pensais que tout était bon mais je me heurte à gros souci pour moi, mais petit pour vous.

L’utilisateur saisie un CODE COMPTE de 15 caractères dans la textbox1 « FRSOCIEBNPRR01 » et puis le reste de son opération. Une fois que toutes les textbox sont remplies, il valide et sa saisie se place dans la listbox en dessous dans l’aperçu.

Mon problème est que dans certaines situations, l’utilisateur n’a pas le code compte mais le RIB de son compte. Je souhaiterais qu’il puisse saisir ce n° de compte mais lorsqu’il valide, ce n° de compte est convertit selon le code qui lui associé dans une liste « Liste_comptes ». Sauf que je n’y arrive pas.

Je vous joins une copie simplifié de ma macro. Pour des raisons de confidentialité, j’ai modifié la liste des comptes et désactiver le bouton « Envoyer ».

Exemple :

• Si je connais le code du compte, alors je saisie le code du compte « A » et tant mieux

• Si je n’ai pas le code du compte, alors je saisie le n° de ce compte à savoir « 1 » mais lorsque je valide, c’est le code du compte associé à ce numéro qui doit se placer dans ma liste box.

Merci pour votre aide.

Crdt.

31test.xlsm (42.30 Ko)

Bonjour,

Il te sera plus simple d’élaborer un dispositif permettant de choisir entre N° Compte et Code puis de gérer la priorisation de la prise en compte de ces numéros.

Ce dispositif peut-être 2 TextBox, 2 boutons à option, etc.

Exemple avec 2 TextBox :

Si la TextBox1 (Code) est renseignée, alors j’effectue le traitement avec le code,

Sinon, si la TextBox2 (N° Compte) est renseignée, alors je recherche du code associé puis j’effectue le traitement avec le code.

Si tu optes pour une seule TextBox, tu vas devoir définir l’élément qui permet de faire le distinguo entre le code et le compte.

A+

Bonjour

En rajoutant ce code dans ta macro Private Sub validation_Click()

Private Sub validation_Click()
Dim i As Integer
Dim k As Integer
Dim j As Integer
Dim p As Integer
Dim q As Integer
Dim Cel As Range

i = 1
j = ListBox1.ListCount
k = 1

ThisWorkbook.Activate
Worksheets("Prévisions").Select

For k = 1 To 5
Controls("TextBox" & k).Value = UCase(Controls("TextBox" & k).Value)
TextBox1 = UCase(TextBox1)
TextBox4 = UCase(TextBox4)
TextBox6 = UCase(TextBox5)
Next k
k = 1
    For k = 1 To 5
       If k = 1 Or k = 2 Or k = 3 Or k = 4 Or k = 5 Then
       k = k + 1
        Else:
            If IsNull(Controls("TextBox" & k).Value) Or Controls("TextBox" & k) = "" Then
            MsgBox "Veuillez remplir tous les champs obligatoires *.", vbCritical
            Exit Sub
            End If
        End If
   Next k

With Sheets("Liste_comptes")
    Set Cel = .Columns("B").Find(what:=Me.TextBox1, LookIn:=xlValues, lookat:=xlWhole)
    If Cel Is Nothing Then
      Set Cel = .Columns("A").Find(what:=Me.TextBox1, LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        Me.TextBox1 = Cel.Offset(0, 1)
      Else
        MsgBox "Compte inconnu"
        Exit Sub
      End If
    End If
  End With

'Test pour le nombre de caractère composant un code compte

Effectivement, pas besoin de chercher midi à quatorze heures, la Liste_comptes permet de faire le lien entre le code et le compte.

Bonjour,

Je vous remercie pour votre retour rapide. Mais, certains utilisateur de cette macro n'ont pas le n° compte mais uniquement le code de ce compte.

Si je laisse la macro telle qu'elle est écrite, ils ne pourront pas saisir de code.

Y a a t-il moyen de garder les deux saisies?

Merci.

Bonjour

Tu t'adresses à qui ?

Car dans le code que je t'ai fourni, on recherche d'abord dans la colonne code et si l'on ne trouve rien on cherche dans la colonne Compte

Si on trouve on remplace le textbox1, sinon message d'erreur

C'est pas ce que tu voulais ?

Désolé Banzai64, J'ai mal interprété ton code et du coup, je saisissait un code compte qui n'était pas dans la liste donc, le message code non connu s'affichait.

Ce que tu m'as fourni est exactement ce que je voulais.

Je t'en remercie.

C'est absolument merveilleux.

Merci encore.

Rechercher des sujets similaires à "remplacer valeur saisie code"