Doublon Excel VBA

Bonjour le forum,

je suis un petit nouveau dans la programmation en vba ; j'essai d'apprendre mais c'est un boulot de fou !

je vous expose mon problème : j'ai fait un userform avec un formulaire de saisie pour enregistrer des noms avec un code spécifique,

1) je veux éviter les doublons

2) si y a doublon que sa apparaissent au niveau du formulaire dès que je rentre le nomprénom; adresse

3) même si je rentre le nom je veux que son code apparaisse dans la feuille tbc hebdo

4) pour que un nom est plusieurs BL

je vous joint mon fichier ainsi que mon code vba :

'***********************************

'Procédure permettant d'ajouter un nouvel enregistrement

'dans la Base clients

'***********************************

Private Sub btnajout_Click()

Sheets("Base clients").Activate

Range("B1").Select

Selection.End(xlDown).Select ' on se positionne sur la dernière ligne non vide

Selection.Offset(1, 0).Select 'on se décale d'une ligne vers le bas

ActiveCell = Cbotype

ActiveCell.Offset(0, 1).Value = Cbocivilité

ActiveCell.Offset(0, 2).Value = txtnom

ActiveCell.Offset(0, 3).Value = txtadresse

ActiveCell.Offset(0, 4).Value = txtcp

ActiveCell.Offset(0, 5).Value = txtville

ActiveCell.Offset(0, 6).Value = txtfixe

ActiveCell.Offset(0, 7).Value = txtmobile

ActiveCell.Offset(0, 8).Value = txtsite

ActiveCell.Offset(0, 9).Value = txtmail

'on test si l'enregistrement est le premier de la table

Application.ScreenUpdating = False

Range("a1").Select

Do While ActiveCell <> ""

ActiveCell.Offset(1, 0).Select

Loop

Dim Codeprec, Code

Codeprec = ActiveCell.Offset(-1, 0).Value

Code = Right(Codeprec, 10)

ActiveCell.Offset(0, 0).Select

ActiveCell = "C" & Code + 1

MsgBox ("code client : " & ActiveCell)

Application.ScreenUpdating = True

Sheets("TBC HEBDOMADAIRE").Activate

Range("b1").Select

Selection.End(xlDown).Select ' on se positionne sur la dernière ligne non vide

Selection.Offset(1, 0).Select 'on se décale d'une ligne vers le bas

ActiveCell = Cbocommercial.Value

ActiveCell.Offset(0, 1).Value = Format(txtdate, "DD/MM/YYYY")

ActiveCell.Offset(0, 2).Value = Format(txtmontant, "0000")

ActiveCell.Offset(0, 3).Value = Cboproduits

'on test si l'enregistrement est le premier de la table

Application.ScreenUpdating = False

Range("a1").Select

Do While ActiveCell <> ""

ActiveCell.Offset(1, 0).Select

Loop

Dim Codeclientsprec, Codeclients

Codeclientsprec = ActiveCell.Offset(-1, 0).Value

Codeclients = Right(Codeclientsprec, 10)

ActiveCell.Offset(0, 0).Select

ActiveCell = "C" & Codeclients + 1

Bonjour et bienvenue,

N'aurais-tu pas oublié le fichier ?

Cordialement,

Bonjoue et merci je le poste

codrialement

bonjour,

celui et mieux !

désolé j'ai pas l'habitude

cordialement

Re,

Dans ton formulaire comment alimentes-tu les combobox "type, civilité, commercial et produits" ?

Cordialement,

bonjour ddetp88,

j'ai crée des tableaux et des listes mais qui ne sont pas présent je te remets le fichier avec

mille escuse

cordialement

J'ai créé un onglet BD

Je n'ai pas regardé l'écriture des données.

Cordialement,

7projet-vba.xlsm (35.35 Ko)

rebonjour ddetp88

mon problème n'ai toujours pas réglé

éviter les doublons ?

si il y a doublon que le numéro s'affiche dans le formulaire et que je puisse quand même transféré son numéro côté commercial

merci quand même de passer du temps à mon calvaire !

j'espère que j'ai tout compris.

J'ai aussi modifié les noms des labels de ton userform pour plus de facilité.

Tes tab pour passer d'un control à l'autre ne sont pas ordonnées. A toi de voir mais il est toujours intéressant d'utiliser la touche TAb pour passer d'un control à l'autre.

Le numéro du client apparaît après que tu as tapé le 4ème caractère dans la txtbox "nom prénom".

Les controls inutiles peuvent alors être masqués pour peut que tu ôtes les remarques de cette partie de code:

'                For j = 4 To 10
'                    Controls("label" & j).Visible = False
'                Next j
'                Tadresse.Visible = False
'                Txtcp.Visible = False
'                Txtville.Visible = False
'                Txtfixe.Visible = False
'                Txtmobile.Visible = False
'                Txtsiteinternet.Visible = False
'                Txtemail.Visible = False

Bonne suite.

Cordialement,

13projet-vba.xlsm (41.25 Ko)

rebonjourddetp88,

c'est exactement sa merci tu m'enleve une grosse épine du pied sa fait trois jour que j'essaye sans résultat !

rebonjour ddetp88,

peut tu me faire une modif en rajoutant un txtprénom au lieu d'avoir les deux dans la même cellule et mettre la detection du code mais sur le prénom sinon super boulot moi je patauge totalement avec ces codes merci encore !

et sur la bd je peux mettre sous forme tableau ou pas ?

Content que tu sois satisfait.

Merci de clore le sujet en cliquant sur la coche à coté du bouton "EDITER".

Au plaisir

Je viens seulement de voir ton dernier message.

Je te fais ça demain matin.

Bonne fin de soirée!

ok a demain merci

Voilà.

J'ai modifié la procédure d'effacement des champs du formulaire.

Pour le prénom, au troisième caractère la recherche s'effectue. Même nom et 3 premiers caractères identiques, le code client apparait dans le formulaire.

J'ai modifié les tab des champs du formulaire pour plus de confort.

Bonne suite et au plaisir.

Pense à clore le sujet.

Cordialement,

8projet-vba.xlsm (45.45 Ko)

bonjour ddetp88,

avant tous merci c'est exactement se que je voulais ! mille merci !

super boulot quoi dire de plus un grand merci

Rechercher des sujets similaires à "doublon vba"