Modifier une ligne existante

Bonjour à tous,

Débutant en VBA, je bloque actuellement sur un fichier que je souhaite mettre en place. Ce dernier est presque abouti mais il me reste une problématique que vous expose:

- BUT DU FICHIER: le fichier permet de suivre l'enregistrement des sous traitants que je contacte. Les informations sont à remplir sur l'onglet FORM et vont incrémenter un tableau BDD qui me permettra de sortir mes TCD. De plus, l'onglet FORM permet de rechercher un sous traitant existant et de le modifier. Pour éviter les doublons, j'ai mis un système d'avertissement sur le numéro de SIREN.

- PROBLEMATIQUE: pour l'instant, j'arrive à créer un sous traitant sans problème. C'est sur la partie modification que je bloque. En effet, lorsque je modifie une information déjà existante, cela se modifie bien dans ma base de donner quand je fais modifier. Par contre, c'est sur le SIREN que je suis embêté: si je modifie le SIREN, cela va m'ajouter une nouvelle ligne sur ma BDD. Du coup, j'ai mon sous traitant en doublon.

- OBJECTIF: je souhaite que, pour la partie modification, je puisse avoir la possibilité de modifier le numéro de SIREN qui est déjà saisie sans que cela me génère une nouvelle ligne.

Je vous mets mon fichier en PJ. Je pense que c'est sur le module 3 que cela coince.

Merci d'avance pour votre aide.

Bonjour Laurentdx et

Est-ce vous qui avez créé le fichier à l'origine ?

Il est normal qu'une ligne soit ajoutée si vous modifier le SIREN puisque la modification de la fiche est basée dessus

Si vous voulez faire autrement, il faut ajouter ce qu'on appelle une "clé unique" = numéro d'enregistrement

Et vous effectuez la recherche sur ce numéro et non sur le SIREN que vous aurez tout à loisir de modifier, ce qui d'ailleurs est étrange

@+

Bonjour Bruno,

Merci pour votre réponse.

Alors en fait, j'ai copié des morceaux de codes que j'ai trouvé sur des forums et que j'ai adapté à mon fichier.

J'ai supposé que le problème venait du numéro de SIREN et j'avais donc changé le champ "Identification" par le Nom + numéro unique. (à la base, l'identification était un concatener du nom + Siren)

Et je me suis dit que j'allais dupliquer le Code que j'ai dans mon module 1 ("Save") en modifiant quelques critères. Par exemple, j'ai testé de changer les paires SIREN (dans BDD) et Saisie_SIREN (Dans FORM) par Num_ID et Identification. Mais bizarrement, ca ne marche pas.

Pour information, en fait, je veux pouvoir modifier le numéro de SIREN car je suis sûr que les futurs utilisateurs du fichier iront mettre des numéros au pif si ils n'ont pas le SIREN sous la main :)

J'ai passé ma journée à faire pleins de tentatives diverses (et essayer de comprendre le code de base également) mais je n'y arrive pas ;(

Bien à vous

Rechercher des sujets similaires à "modifier ligne existante"