|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Bonjour,
J'ai besoin de vous pour résoudre un problème qui peut certainement se faire en VBA mais je ne suis pas sûr du tout. J'ai dans un formulaire un sous-formulaire affichant plusieurs lignes d'enregistrements. Ceux-ci contiennent des champs dont certains peuvent être vides. Les lignes contenant un certain champ vide sont affichées en blanc tandis que les autres sont affichées en vert avec la mise en forme conditionnelle d'Access. Maintenant, j'aimerais qu'en plus de changer la couleur de la ligne selon son contenu, un bouton soit visible ou à la fin de la ligne. J'ai essayé plusieurs choses mais je ne parviens qu'à le rendre visible pour aucune ligne ou bien pour toutes. Voici comment est structuré mon code : Code :
Merci d'avance! Cordialement, Prettyletter |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
rien à voir avec le code ! pour qu'un objet soit différencié suivant les lignes, il faut qu'il ait une source, il ne faut donc pas qu'il soit indépendant. (donc pas un bouton mais une zone de texte, quite à lui donner une apparence de bouton) après, tu peux lui appliquer les règles de mise en forme conditionnelle, y compris l'invisibilité.
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Salut!
Merci pour ta réponse Je ne sais pas si cela peut fonctionner dans mon cas puisque non seulement je dois rendre invisible ce bouton lorsque le champ est rempli, mais je dois aussi en afficher un autre à la place. Pour être plus clair, mon tableau contient des noms de modules. Si ceux-ci ont été acquis, la date est renseignée et la ligne est verte. Le bouton en bout de ligne doit donc permettre la suppression de l'acquisition, donc la suppression de la date. En revanche, si la date n'est pas renseignée, le bouton doit permettre l'ajout de l'acquisition en inscrivant la date dans le champ correspondant. Mon idée, à la base, était de créer deux boutons qui sont rendus visibles ou invisibles selon la valeur du champ "date". Est-il possible de faire cela avec l'idée que tu m'as proposé? Je vais étudier cette piste en attendant ta réponse. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
tu peux tout à fait avoir un fonctionnement de bouton avec une zone de texte (sans son étiquette bien sûr!) avec deux, il suffit de faire deux fois le boulot
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Je crois que ça ne fonctionnera pas. J'ai besoin d'afficher une image et non du texte, et ce bouton n'a pas de source. J'aurais plutôt vu une solution comme l'affichage du tableau par VBA avec une boucle, en affichant le bouton à chaque itération selon la valeur de la date en cours. Je ne sais pas s'il est possible de procéder comme cela mais j'ai du mal à voir comment l'utilisation des zones de texte pourrait fonctionner dans mon cas.
|
|
|
00
|
|
|
#6 | ||
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Bonjour,
Je n'ai toujours pas trouvé de solution à mon problème. J'ai essayé plusieurs solutions, dont une qui pourrait peut-être fonctionner si je savais mieux m'y prendre. Au lieu de modifier la propriété RecordSource de mon sous-formulaire lors de la sélection d'une fiche de poste dans la liste, j'ai essayé de l'afficher ligne par ligne avec un Recordset pour pouvoir traiter chaque ligne séparément. Le soucis, c'est que je n'ai jamais réussi à les afficher. Pourquoi? Je n'en sais rien. J'avais donc procédé comme cela : Code :
La requête fonctionne très bien puisque j'obtiens les résultats souhaités en procédant comme je le faisais avant, c'est-à-dire via la propriété Recordsource. Je ne sais pas si ça vient d'une erreur d'écriture de mon code ou tout simplement si c'est parce qu'il n'est pas possible de procéder ainsi, en tout cas ça ne fonctionne pas. C'est pourquoi je me tourne encore vers vous! Merci! Cordialement, Prettyletter |
||
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Marc BellêtreÉtudiant Inscription : mars 2011 Messages : 59 ![]() |
Bonjour,
Désolé d'insister mais ce problème me bloque toujours... J'ai donc opté pour la solution qui m'a été donnée et j'ai utilisé un champ de texte avec affichage conditionnel. Maintenant, j'aimerais savoir s'il est possible d'afficher une valeur différente dans ce champ selon la valeur de la date? Par exemple, écrire "supprimer" dans un cas et "valider" dans l'autre, même si le mieux aurait été d'utiliser une image. J'attends vos idées! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com