Remplir une zone de texte si une case est cochée
Yoshimario77
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
Yoshimario77 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Yoshimario77 Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Comme dis dans le titre, je cherche à remplir le contenu d'une zone de texte en fonction de si une case à cocher est cochée ou non.
L'opération requiert des champs placés dans deux tables: Lot_arbres et Comptages.
Les champs nécessaires sont num_phase dans Lot_arbres, phase_comptage dans Comptages, la case à cocher "plantation" dans Comptages et le champ calculé num_comptage dans Comptages.
Donc le champ calculé num_comptage doit être égal à 0 si la case est cochée, sinon il doit être égal à [phase_comptage] - [Formulaires]![Lot_arbres]![lm_phase] + 1
J'ai donc fait un code vba (enfin, trouvé sur internet et essayé d'adapter à mon cas particulier) mais il n'a pas l'air de fonctionner. Cela affiche #Nom dans la zone de texte calculée.
Je l'ai affecté au champ calculé et activé l'événement "sur clic" dans un premier temps. Comme c'est un événement simple, il me permet facilement de vérifier si le code fonctionne avant de trouver un événement plus approprié.
Voici le code utilisé:
Je galère déjà un petit peu avec Access, quoi que mes soucis commencent à se résoudre, mais je ne connais vraiment rien en VBA. Mais il me semble curieux de mettre des crochets. Sauf pour le "[Formulaires]![Lot_arbres]![lm_phase]. (lm_phase est une liste permettant de choisir num_phase)
Quand je retire les crochets, ça fait la même chose quand je déclenche la macro sur l'événement BeforeUpdate par contre, sur OnClick, ça affiche le message d'erreur suivant:
https://img-19.ccm2.net/m2acQTUts4pPQ5R1OOFjmX53Tvc=/fc82b560ade340e5940f4a16aa614ced/ccm-ugc/rreur_BDD_projet_ceinture_forestiere.png
Est-ce que quelqu'un s'y connaîtrait un peu mieux que moi en VBA et saurait trouver l'erreur svp ?
Merci d'avance !
Comme dis dans le titre, je cherche à remplir le contenu d'une zone de texte en fonction de si une case à cocher est cochée ou non.
L'opération requiert des champs placés dans deux tables: Lot_arbres et Comptages.
Les champs nécessaires sont num_phase dans Lot_arbres, phase_comptage dans Comptages, la case à cocher "plantation" dans Comptages et le champ calculé num_comptage dans Comptages.
Donc le champ calculé num_comptage doit être égal à 0 si la case est cochée, sinon il doit être égal à [phase_comptage] - [Formulaires]![Lot_arbres]![lm_phase] + 1
J'ai donc fait un code vba (enfin, trouvé sur internet et essayé d'adapter à mon cas particulier) mais il n'a pas l'air de fonctionner. Cela affiche #Nom dans la zone de texte calculée.
Je l'ai affecté au champ calculé et activé l'événement "sur clic" dans un premier temps. Comme c'est un événement simple, il me permet facilement de vérifier si le code fonctionne avant de trouver un événement plus approprié.
Voici le code utilisé:
Private Sub calcul_num_comptage()
If [plantation].Value = True Then
[num_comptage].Value = 0
Else
[num_comptage].Value = [phase_comptage] - [Formulaires]![Lot_arbres]![lm_phase] + 1
End If
[plantation].Requery
End Sub
Je galère déjà un petit peu avec Access, quoi que mes soucis commencent à se résoudre, mais je ne connais vraiment rien en VBA. Mais il me semble curieux de mettre des crochets. Sauf pour le "[Formulaires]![Lot_arbres]![lm_phase]. (lm_phase est une liste permettant de choisir num_phase)
Quand je retire les crochets, ça fait la même chose quand je déclenche la macro sur l'événement BeforeUpdate par contre, sur OnClick, ça affiche le message d'erreur suivant:
https://img-19.ccm2.net/m2acQTUts4pPQ5R1OOFjmX53Tvc=/fc82b560ade340e5940f4a16aa614ced/ccm-ugc/rreur_BDD_projet_ceinture_forestiere.png
Est-ce que quelqu'un s'y connaîtrait un peu mieux que moi en VBA et saurait trouver l'erreur svp ?
Merci d'avance !
A voir également:
- Remplir une zone de texte si une case est cochée
- Alternative zone telechargement - Accueil - Outils
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, je te suggère de faire simple, puis de plus en plus compliqué.
cela va t'aider à découvrir où cela coince.
surtout, ajoute
commence par tester ceci: as-tu bien soit 0 soit 1?
ensuite ainsi:
puis ainsi:
cela va t'aider à découvrir où cela coince.
surtout, ajoute
option explicitau début de ton code.
commence par tester ceci: as-tu bien soit 0 soit 1?
If [plantation].Value = True Then [num_comptage].Value = 0 Else [num_comptage].Value = 1 End If
ensuite ainsi:
If [plantation].Value = True Then [num_comptage].Value = 0 Else [num_comptage].Value = [Formulaires]![Lot_arbres]![lm_phase] + 1 End If
puis ainsi:
If [plantation].Value = True Then [num_comptage].Value = 0 Else [num_comptage].Value = [phase_comptage] End If
Bonjour,
si tu fais :
que cela retourne t'il ?
A+
si tu fais :
Private Sub num_comptage_Click() msgbox plantation End Sub
que cela retourne t'il ?
A+
Essaie alors avec ce code :
Option Explicit Private Sub plantation_Click() If plantation = -1 Then Me!num_comptage= "0" Else Me!num_comptage = "1" End If End Sub
... Evidemment, la fatigue !
https://drive.google.com/file/d/0B-SqZG-dDEgyLXhyWi1FaEZ3ZUk/view?usp=drive_open
https://drive.google.com/file/d/0B-SqZG-dDEgyLXhyWi1FaEZ3ZUk/view?usp=drive_open
La première ligne est mise avec un fond jaune au texte.
si tu ne nous donnes pas d'information, nous ne pouvons pas les deviner.