Bonsoir @ tous
Je bloque sur un problème et je ne voit pas comment le contourner.
Je me suis inspiré de la façon d'imprimer de jeannot45 dans son projet PlanningV2 (Merci Jeannot).
Mon projet se compose d'un état principal avec plusieurs sous état. J'ai réalisé le code qui permet de mettre des petites croix dans des étiquettes en fonction des presents et des dates rentrées dans ma table. Tous ceci marche bien aprés quelques jours passé dessus à partir de l'apercu du sous formulaire.
Mais dès que je le mets dans le formulaire le code n'est plus initialisé!!!!
Je ne sais pas comment rechercher cette aide sur le forum bien qu'ayant recherché sur les tutos mais je n'ai pas trouver.
les codes dans le sous formulaire sont:
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 Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer) Dim Ecart As Integer Dim CompteChamp As Integer, Compteur As Integer Dim DateEnCours As Date ' Intitialisation au debut des enreristrements With rsImpression 'Boucle permettant d'éffacer tout les X dans les etiquettes For Compteur = 1 To 28 Set ctlEtiquette = Me.Controls("LblPresence" & Compteur) 'Permet d'incrementer sur les etiquettes uniquement ctlEtiquette.Caption = "" Next If rsImpression.EOF = True Then ' Si on se trouve a la fin des Enrg On sort de la procedure Exit Sub End If DateDebut = Format(Left(rsImpression.Fields(4).Name, 10), "dd mmm yy") CompteChamp = rsImpression.Fields.Count For Compteur = 4 To CompteChamp - 1 'Due au fait que l'on commence la numerotation à 0 DateEnCours = Format(Left(rsImpression.Fields(Compteur).Name, 10), "dd mmm yy") Ecart = DateDiff("d", DateDebut, DateEnCours) 'Determination de l'ecarte entre le debut et la date en cours pour se reperer dans les cases a cocher If rsImpression.Fields(Compteur) <> "" Then 'si le resultat de l'analyse Croisee est vide c'est qu'il n'y a personne sur cette date If Right((rsImpression.Fields(Compteur).Name), 2) = "Jo" Or Right((rsImpression.Fields(Compteur).Name), 2) = "Ma" Then Set ctlEtiquette = Me.Controls("LblPresence" & (1 + 2 * Ecart)) 'Permet d'incrementer sur les etiquettes uniquement ctlEtiquette.Caption = "X" End If If Right((rsImpression.Fields(Compteur).Name), 2) = "Jo" Or Right((rsImpression.Fields(Compteur).Name), 2) = "Ap" Then Set ctlEtiquette = Me.Controls("LblPresence" & (2 + 2 * Ecart)) 'Permet d'incrementer sur les etiquettes uniquement ctlEtiquette.Caption = "X" End If End If Next Compteur .MoveNext End With End Sub
Merci d'avance pour votre aide
Partager