Sélectionner valeur liste de choix access [Fermé]

Signaler
-
 sormick -
Bonjour,

Je n'arrive pas à sélectionner une valeur via VBA dans une liste de choix:
mon code c'est:
Me.pays = "CANADA"

ile me sélectionne bien Canada dans la liste de choix mais
dés que je clique dessus avec la souris une Erreur s'affiche à l'écran:
(Valeur incorrecte pour ce champ)......
de plus je me sers de cette selection pour ensuite renommer un fichier.
si je la sélectionne avec la souris aucun soucis mais si je le fais via VBA
la valeur ne s'affiche pas et le fichier n'est pas renommé correctement.
Please help!!

2 réponses

Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021
1 439
Bonjour,

Si vous faites un choix par programme, a quoi sert la liste de choix ???
>
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021

J'ai au total deux listes de choix le premier avec des noms de pays le deuxième avec des noms de villes. Ensuite j'ai créé un bouton et dans ce bouton il y a code vba qui me renomme un fichier selon ce qui a été choisi dans les deux listes de choix
Ça ressemble plus ou moins à ça :
Name "c:\ dossier\file.pdf" as "c:\ dossier\" & me.Pays.Column(1) & me. Villes. Column(1) & ".pdf"
Lorsque je clique sur ce bouton le fichier est bien renommé mais les sélections dans les listes de choix on disparu. Je souhaiterais renommer un second fichier dans un autre dossier avec le même pays et même ville en cliquant sur un autre bouton sauf que parfois la ville ce n'est pas la même et le pays non plus.c'est pour ça que je souhaiterais que les listes de choix au premier renommage restent sur le pays et ville que j'ai choisis
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021
1 439
Bonjour,

mais les sélections dans les listes de choix on disparu. Diantre, pouvez-vous mettre votre fichier sur https://www.cjoint.com/ ou a defaut montrez le code du bouton.

A+
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
25 >
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021

Et voilà la marche à suivre pour Cjoint juste au cas ou les indications sur le site lui même vous semble obscur

https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
>
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019

Bonjour,

Voici mon tableau access ci joint comme vous l'avez demandé.
http://www.cjoint.com/data/0LbsbaQv7Lc.htm
désolé j'ai mis un certain temps car je voulais supprimer les données non essentielles pour alleger le tableau.
lors du démarrage vous cliquez sur le bouton (renommage)
pour renommer un PDF ils doivent ce trouver dans ce chemin (D:\Users\Public\MARITIME\VERIFMARITIME) vous pouvez changer ce chemin si vous le souhaitez.les PDF à renommer doivent comporter le nom (tagsafaire) et enfin pour renommer un PDF il suffit dans la rubrique (pays) de choisir un pays, dans la rubrique (id conteneur) de choisir un ID,dans la rubrique N° de conteneur de mettre un numéro à 7 chiffrer puis enfin de cliquer sur le bouton (renommer)
le fichier sera bien renommé mais les listes de choix disparaissent et je voudrait qu'elles restent en mémoire! comment faire?
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021
1 439
Bonjour,

désolé j'ai mis un certain temps car je voulais.... Pas de soucis.

Apres une breve lecture de votre fichier, il est tout a fait normale que les infos des listes de choix "disparaissent", car il y a fermeture et ouverture du formulaire Renommage par l'appel de la procedure Private Sub Commande9_Click() (Lister Fichiers à renommer) dans le code du bouton Private Sub Commande4_Click() (renommage)

Je regarde ca demain pour vous donner une solution

A+
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021
1 439
Bonjour,


une facon de faire sans tout reprendre la programmation:


module files: ajouter cette ligne en haut pour declaration de variable

'memoire pays selectionne pour reaffichage a la suite de renommer fichier
Public Ind_Pays As Byte


et ceci dans le VBA du formulaire Renommage:

'positionne combobox Pays sur le dernier pays choisi
'mais par defaut le pays sera le premier de la liste
'a la premiere ouverture du formulaire
Private Sub Form_Current()
If Ind_Pays <> -1 Then
Me.pays = Me.pays.ItemData(Ind_Pays)
End If
End Sub


A+
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021
1 439
Bonjour,

Oui, sur le meme principe: une variable public et les lignes de code a mettre aux memes endroit que pour la combobox

A+
>
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021

Bonjour,

malheureusemen,t je métrise mal le vba access:
ce code n'est pas adapté:
If Ind_renom <> -1 Then
Me.renom = Me.renom.ItemData(Ind_renom)
End If
car c'est une zone de texte et non une liste de choix
ce code là n'est peut être aussi pas adapté:
Ind_renom = Me.renom.Value
pouvez vous m'aider ?
je vous remercie d'avance
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021
1 439
Re,

je vous fais ca. La zone de texte est renom

A+
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021
1 439
Re,

module files
Public Trenom As String

Private Sub Form_Current()
If Ind_Pays <> -1 Then
Me.pays = Me.pays.ItemData(Ind_Pays)
End If
Me.renom = Trenom
End Sub


Private Sub Cmd_Renommer_Click()
ajouter
Trenom = Me.renom
>
Messages postés
15527
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2021

Merci énormément!!!!!!
je ne sais pas comment mettre ce message comme résolu