Bonjour.
J'ai modifié en utilisant type_financement1_Change.
la messagebox apparaît mais n'affiche rien d'autre que ><. En cliquant sur OK apparait le message erreur 94 utilisation incorrecte de null
Bonjour.
J'ai modifié en utilisant type_financement1_Change.
la messagebox apparaît mais n'affiche rien d'autre que ><. En cliquant sur OK apparait le message erreur 94 utilisation incorrecte de null
Hello,
ce qui veut dire que "Me.type_financement1" ne contient rien car il devrait afficheravec le code de Philippe> qqchose <A mon humble avis, si vous voulez que l'on vous aide à déboguer votre code il faudrait poster le classeur complet avec des données anonymisées
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox ">" & Me.type_financement1 & "<"
Bonjour,
C'est la raison pour laquelle cela ne fonctionne pas correctement puisque pour que le Frame soit visible, il faut qu'il y ait comme valeur "Financement France VAE".la messagebox apparaît mais n'affiche rien d'autre que ><. En cliquant sur OK apparait le message erreur 94 utilisation incorrecte de null
Soit la propriété de l'objet n'est pas la bonne soit il y a une autre problème de conception. Personnellement, je n'ai pas le temps de regarder tout votre code
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Bonjour,
Il faut apprendre à être précis dans vos commentaires. En fait c'est une zone de liste modifiable.le résultat attendu n'est pas correct puisque le frame finacemnt n'est jamais invisible. type_financement1 est une listbox.
Pour que'elle apparaisse vous devez modifier la procédure ReadRecord comme suit :La frame financemnt n'apparaît pas plus.
Et dans la procédure OpositeStatus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 Private Sub ReadRecord(ByVal RecordNumber As Long) ' Lecture de l'enregistrement RecordNumber = RecordNumber + 1 With rng Me.Ref = Format(.Cells(RecordNumber, 1), "R000") Me.Nom1 = .Cells(RecordNumber, 2) Me.prenom1 = .Cells(RecordNumber, 3) Me.email1 = .Cells(RecordNumber, 4) Me.adresse1 = .Cells(RecordNumber, 5) Me.code1 = Format(.Cells(RecordNumber, 6), "00 000") Me.statut1 = .Cells(RecordNumber, 7) Me.num_demandeur_emploi1 = Format(.Cells(RecordNumber, 8), "0000000@") 'Me.type_financement1.Value = getFinancement(.Cells(RecordNumber, 9)) Me.type_financement1.Value = .Cells(RecordNumber, 9) Me.suivi_etape1 = .Cells(RecordNumber, 10) Me.remarque1 = .Cells(RecordNumber, 11) Me.diplome1 = .Cells(RecordNumber, 12) Me.date_contact1 = Format(.Cells(RecordNumber, 13), "dd/mm/yyyy") Me.date_faisabilite1 = Format(.Cells(RecordNumber, 14), "dd/mm/yyyy") Me.accord_faisabilite1 = Format(.Cells(RecordNumber, 15), "dd/mm/yyyy") Me.kairos1 = Format(.Cells(RecordNumber, 16), "dd/mm/yyyy") Me.demande_afgsu1 = Format(.Cells(RecordNumber, 17), "dd/mm/yyyy") Me.date_session_afgsu1 = Format(.Cells(RecordNumber, 18), "dd/mm/yyyy") Me.demande_financement1 = Format(.Cells(RecordNumber, 19), "dd/mm/yyyy") Me.financement1 = Format(.Cells(RecordNumber, 20), "dd/mm/yyyy") Me.date_RDV1 = Format(.Cells(RecordNumber, 21), "dd/mm/yyyy") Me.date_prev_depot1 = Format(.Cells(RecordNumber, 22), "dd/mm/yyyy") Me.date_RDV2 = Format(.Cells(RecordNumber, 23), "dd/mm/yyyy") Me.date_RDV3 = Format(.Cells(RecordNumber, 24), "dd/mm/yyyy") Me.date_RDV4 = Format(.Cells(RecordNumber, 25), "dd/mm/yyyy") Me.date_RDV5 = Format(.Cells(RecordNumber, 26), "dd/mm/yyyy") Me.date_RDV6 = Format(.Cells(RecordNumber, 27), "dd/mm/yyyy") Me.date_RDV7 = Format(.Cells(RecordNumber, 28), "dd/mm/yyyy") Me.date_RDV8 = Format(.Cells(RecordNumber, 29), "dd/mm/yyyy") Me.date_RDV9 = Format(.Cells(RecordNumber, 30), "dd/mm/yyyy") Me.date_RDV10 = Format(.Cells(RecordNumber, 31), "dd/mm/yyyy") Me.date_RDV11 = Format(.Cells(RecordNumber, 32), "dd/mm/yyyy") Me.date_RDV12 = Format(.Cells(RecordNumber, 33), "dd/mm/yyyy") Me.date_RDV13 = Format(.Cells(RecordNumber, 34), "dd/mm/yyyy") Me.date_RDV14 = Format(.Cells(RecordNumber, 35), "dd/mm/yyyy") Me.date_RDV15 = Format(.Cells(RecordNumber, 36), "dd/mm/yyyy") Me.date_RDV16 = Format(.Cells(RecordNumber, 37), "dd/mm/yyyy") Me.date_RDV17 = Format(.Cells(RecordNumber, 38), "dd/mm/yyyy") Me.date_RDV18 = Format(.Cells(RecordNumber, 39), "dd/mm/yyyy") Me.date_depot1 = Format(.Cells(RecordNumber, 40), "dd/mm/yyyy") Me.date_facture1 = Format(.Cells(RecordNumber, 41), "dd/mm/yyyy") Me.date_jury1 = Format(.Cells(RecordNumber, 42), "dd/mm/yyyy") Me.post_jury1 = Format(.Cells(RecordNumber, 43), "dd/mm/yyyy") Me.frmMember.Caption = "Fiche " & Format(RecordNumber, "R000") finacemnt.Visible = (type_financement1.Value = "Financement France VAE") Or (UserFormStatus = Status.Modify) End With End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub OppositeStatus() ' Inverse la valeur booléenne des boutons d'action ' Modifie la propriété Caption du UserForm With Me .cboCandidat.Enabled = Not .cboCandidat.Enabled .frmMember.Enabled = Not .frmMember.Enabled .frmAction.Visible = Not .frmAction.Visible .frmConfirm.Visible = Not .frmConfirm.Visible .cmdExit.Visible = Not .cmdExit.Visible .frmNavigation.Visible = Not .frmNavigation.Visible If .cboCandidat.Enabled = True Then UserFormStatus = Status.Consultation ' Consultation usfTitle ' Titre du UserForm finacemnt.Visible = (type_financement1.Value = "Financement France VAE") Or (UserFormStatus = Status.Modify) End With End Sub
[QUOTE=Valtrase;12055773]Bonjour,
Il faut apprendre à être précis dans vos commentaires. En fait c'est une zone de liste modifiable.
En fait, il y a deux choses :
- type_financement1 est une zone de liste modifiable, qui doit toujours apparaître
- la frame finacemnt contient deux champs de date (demande et accord) mais elle ne doit apparaître que pour un seul type de financement, le financement par France VAE, pour les autres types de financement, elle n'est pas pertinente
Re,
Bon nous ne devons pas avoir le même fichier alors.
Sur celui fournis type_financement1 fait parti du cadre finacemnt,(qui pourrait être nommée explicitement).
Pièce jointe 661796
Donc, si vous voulez que la zone de liste déroulante soit toujours visible :
- Soit elle ne fait pas partie de ce cadre (Si vous cacher le cadre les contrôles contenus seront cachés aussi).
- Soit vous devez agir sur la visibilité des contrôles demande_financement1, financement1 et leurs étiquettes respectives.
Bonne programmation.
J'ai enfin réussi quelque chose, en utilisant
et dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub type_financement1_change() If Me.type_financement1.Selected(3) Then Me.finacemnt.Visible = True End Sub
Il reste une imperfection : lorsque je modifie le type de financement, alors que celui précédemment sélectionné était le troisième de la liste (Financement France VAE), cela ne fait pas disparaître le frame finacemnt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub OppositeStatus() ' Inverse la valeur booléenne des boutons d'action ' Modifie la propriété Caption du UserForm With Me .cboCandidat.Enabled = Not .cboCandidat.Enabled .frmMember.Enabled = Not .frmMember.Enabled .frmAction.Visible = Not .frmAction.Visible .frmConfirm.Visible = Not .frmConfirm.Visible .cmdExit.Visible = Not .cmdExit.Visible .frmNavigation.Visible = Not .frmNavigation.Visible If .cboCandidat.Enabled = True Then UserFormStatus = Status.Consultation ' Consultation usfTitle ' Titre du UserForm .finacemnt.Visible = Me.type_financement1.Selected(3) End With End Sub
Voici le fichier actuel
suivi candidats avec financement - Copie.xlsm
Re, Je vous ai donné les réponse dans le post #26, vous ne lisez pas ?
Ceci ne peut fonctionner qu'a moitié. Lisez les posts de Philippe Tulliez à se sujet.Private Sub type_financement1_change()
If Me.type_financement1.Selected(3) Then Me.finacemnt.Visible = True
End Sub
Si vous voulez utiliser l'index plutôt que la valeur, la bonne syntaxe devrait être :
De même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub type_financement1_change() finacemnt.Visible = (type_financement1.ListIndex = 3) End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub OppositeStatus() ' Inverse la valeur booléenne des boutons d'action ' Modifie la propriété Caption du UserForm With Me .cboCandidat.Enabled = Not .cboCandidat.Enabled .frmMember.Enabled = Not .frmMember.Enabled .frmAction.Visible = Not .frmAction.Visible .frmConfirm.Visible = Not .frmConfirm.Visible .cmdExit.Visible = Not .cmdExit.Visible .frmNavigation.Visible = Not .frmNavigation.Visible If .cboCandidat.Enabled = True Then UserFormStatus = Status.Consultation ' Consultation usfTitle ' Titre du UserForm finacemnt.Visible = (type_financement1.ListIndex = 3) End With End Sub
Bonjour.
Merci pour la solution précedente.
J'ai un nouveau problème, lié au format des dates. C'est visiblement un problème classique mais je n'ai pas réussi. en effet lorsque le jour est égal ou inférieur à 12 cela me met la date américaine et non la date française, ainsi le 09/10/24 deviens 10/09/24, ce qui est un vrai problème.
Deuxième problème, certaines dates sont transférer dans la feuille sous forme de texte et excel ne les reconnait pas comme des nombres.
Pour essayer de résoudre ces problèmes j'ai essayé de faire apparaître un calendrier à chaque clic pour ajouter une date dans le formulaire (le seul essai est sur date premier contact) mais je ne parviens pas à le faire fonctionner...
Voici le fichier actuelsuivi candidats avec financement - Copie.xlsm
Bonjour,
Cela vous arrive t-il de compiler le projet ?
J'ai abandonné au bout de la quatrième correction.
La moindre des chose c'est de fournir un classeur opérationnel, je pense. Sinon comment voulez-vous que l'on vous aide.
Bonjour
Je ne vois pas ce que signifie compiler, dans ce cadre.
Je partage régulièrement le fichier pour tenir compte des différentes corrections apportées au fur et à mesure mais j'ai l'impression que les fichiers attachés ne s'affichent pas ou ne sont pas proposés.
Je fais un nouvel essai de partage de fichier à jour.suivi candidats avec financement - Copie.xlsm
Bonjour
J'ai enfin réglé tous les problèmes : dates, affichage de la frame finacemnt. Concernant les dates, j'utilise désormais un calendrier.
Voici le fichier, pour ceux qui veulent le récupérer suivi candidats avec financement - Copie.xlsm
Partager