1 pièce(s) jointe(s)
Remplacer la boite de dialogue "rechercher & remplacer par" de office par du code
Bonjour à tous,
Avant de commencer, je voudrais vous dire que j'ai fais des recherches sur le forum, entre autres, avant de poster ici, mais que malheureusement elles se sont avérées infructueuses.
Je suis actuellement en train de créer un formulaire (cf. ci-dessous) permettant de remplacer une valeur par une autre dans une table. Malheureusement, tout ne marche pas comme je l'aurais souhaité.
Pièce jointe 178354
Quelques explications sur le formulaire (emplacement_mise_a_jour_de_la_base_de_données) :
1) il y a deux listes de choix déroulantes : liste_anciens_emplacements & liste_nouveaux_emplacements
2) il y a également un bouton de validation appelé bouton_validation
3) Le but de ce formulaire est de remplacer, dans la table emplacement, la valeur contenu dans la liste déroulante liste_anciens_emplacements, par la valeur contenu dans la liste déroulante liste_nouveaux_emplacements, sans passer par la boite de dialogue "rechercher & remplacer par" d’office.
Voici le code actuel de mon bouton bouton_validation :
Code:
1 2 3 4 5 6 7 8 9 10
| Private Sub bouton_validation_Click()
If Me.liste_anciens_emplacements.Value <> "" And Me.liste_nouveaux_emplacements.Value <> "" Then
DoCmd.Close acForm, "emplacement_mise_a_jour_de_la_base_de_données"
DoCmd.OpenForm "Accueil"
Else
End If
End Sub |
Quelques explications sur ce code :
L3, L4 & L5 -> si les deux listes déroulantes on une valeur différente de "" (CàD qu'un choix a été fait dans la liste) alors on ferme le formulaire emplacement_mise_a_jour_de_la_base_de_données et on ouvre le formulaire accueil.
L6 & L7 -> sinon impossible de valider (c'est normal ;)).
l'idée serait de completer le code du bouton de cette façon (L5) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub bouton_validation_Click()
If Me.liste_anciens_emplacements.Value <> "" And Me.liste_nouveaux_emplacements.Value <> "" Then
' rechercher la valeur "Me.liste_anciens_emplacements.Value" dans la table emplacement (colonne emplacement_nom) puis remplacer tout par "Me.liste_nouveaux_emplacements.Value"
DoCmd.Close acForm, "emplacement_mise_a_jour_de_la_base_de_données"
DoCmd.OpenForm "Accueil"
Else
End If
End Sub |
Malheureusement pour moi je ne suis ni développeur de métier, ni même programmateur amateur, du coup je ne sais pas qu'elle fonction (replace, autre ... ?) adopter pour faire en sorte que ma table emplacement soit mise à jour lorsque je valide (en gros, comment coder la ligne L5 ci-dessus) ...
Alors ... un grand merci pour ceux (et celles bien sur) qui aurons des réponses à m'apporter :ccool: