Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2011, 12h07   #1
Membre du Club
 
Homme Serigne BA
Étudiant
Inscription : août 2011
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Serigne BA
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 47
Points : 52
Points : 52
Par défaut Synchronisation entre affichage inputbox et surbrillance texte d'une zone de texte

Bonjour à tous !
Je suis sous Access 2010.
J’ai une zone de texte qui contient un modèle de texte (donc à compléter) dans un formulaire.
J’ai un bouton pré-remplir qui me permet, avec un clic, de pré-remplir beaucoup de champs de mon texte
Malheureusement, je ne peux pas pré-remplir tous les champs de mon texte car certaines informations ne sont disponibles dans aucune des bases de données.
Pour pallier à cela, j’oblige les utilisateurs de saisir les informations qui manquent à l’aide des inputbox qui leurs décrit un peu la nature de l’information qu’il faut insérer.
Mais cette méthode pose problème à certains utilisateurs débutant.

Ainsi je voudrais mettre en surbrillance l’endroit où il faut insérer l’information qui manque dans ma zone texte à chaque fois qu’un inputbox apparait pour demander une information, Comme ça l’utilisateur pourra lire le passage et il saura forcément l’information à insérer.

Est-ce que quelqu’un sait si c’est faisable ? si oui est ce que vous pouvez m’orienter svp ? Merci !

Voici mon code pour pré remplir mon texte modèle et exiger aux utilisateurs, à l’aide des inputbox, de compléter ce qui manque.

Code :
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
Public Sub trfText(RefDOSSIER As String)
 
    Dim Text_Annonce As String
    Dim Position_Ouv As Long
    Dim Position_Fin As Long
    Dim Extract_NOM     As String
    Dim Re_Test As Recordset
    Dim Re_Test_Pic As Recordset
    Dim NewText As String
 
 
         Set Re_Test = CurrentDb.OpenRecordset("SELECT TDAT_Paragraphes.* FROM TDAT_Paragraphes WHERE (((TDAT_Paragraphes.Nature)='" & Me.zdlChoisirNlac & "'))")
         Set Re_Test_Pic = CurrentDb.OpenRecordset("SELECT * FROM T_DOSSIERS WHERE ((([T_DOSSIERS]![RefDOSSIER])='" & Me.ZdtSaisirMotCle & "'))")
 
        If IsNull(Me.zdtAssemblag) = True Then
            Text_Annonce = ""
          Else
 
             Text_Annonce = Me.zdtAssemblag
 
        End If
 
            Position_Ouv = 1
 
        Do
            Position_Ouv = InStr(Position_Ouv + 1, Text_Annonce, "[[")
            If Position_Ouv = 0 Then Exit Do
            Position_Fin = InStr(Position_Ouv, Text_Annonce, "]]")
            Extract_NOM = Mid(Text_Annonce, Position_Ouv + 2, Position_Fin - Position_Ouv - 2)
 
             Select Case Extract_NOM
            '  **********************C_VALEUR_ANC******************************
                Case "C_VALEUR_ANC"
                    If IsNull(Re_Test_Pic.Fields("C_VALEUR_ANC")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("C_VALEUR_ANC")
                    End If
            '  ************************C_VALEUR_NOUV****************************
                Case "C_VALEUR_NOUV"
                    If IsNull(Re_Test_Pic.Fields("C_VALEUR_NOUV")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("C_VALEUR_NOUV")
                    End If
             '  **********************MT_UNITAIRE******************************
               Case "MT_UNITAIRE"
                    If IsNull(Re_Test_Pic.Fields("MT_UNITAIRE")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("MT_UNITAIRE")
                    End If
            '  ************************D_DEBUT_OST****************************
              Case "D_DEBUT_OST"
                    If IsNull(Re_Test_Pic.Fields("D_DEBUT_OST")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("D_DEBUT_OST")
                    End If
            '  ************************D_FIN_OST****************************
              Case "D_FIN_OST"
                    If IsNull(Re_Test_Pic.Fields("D_FIN_OST")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("D_FIN_OST")
                    End If
             '  ***********************RVN_RATIO_EXERCICE*****************************
              Case "RVN_RATIO_EXERCICE"
                    If IsNull(Re_Test_Pic.Fields("RVN_RATIO_EXERCICE")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("RVN_RATIO_EXERCICE")
                    End If
            '  **********************D_EX_DATE******************************
             Case "D_EX_DATE"
                    If IsNull(Re_Test_Pic.Fields("D_EX_DATE")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("D_EX_DATE")
                    End If
            '  ********************D_REGLT_CASH ********************************
             Case "D_REGLT_CASH"
                    If IsNull(Re_Test_Pic.Fields("D_REGLT_CASH")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("D_REGLT_CASH")
                    End If
            '  **********************DIVIDENDE_UNIT******************************
             Case "DIVIDENDE_UNIT"
                    If IsNull(Re_Test_Pic.Fields("DIVIDENDE_UNIT")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("DIVIDENDE_UNIT")
                    End If
            '  ***********************PRIX_CASH*****************************
             Case "PRIX_CASH"
                    If IsNull(Re_Test_Pic.Fields("PRIX_CASH")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("PRIX_CASH")
                    End If
            '  ***********************RVI_RVA_Ratio_Exercice*****************************
             Case "RVI_RVA_Ratio_Exercice"
                    If IsNull(Re_Test_Pic.Fields("RVI_RVA_Ratio_Exercice")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("RVI_RVA_Ratio_Exercice")
                    End If
            '  ***********************D_DEB_PER_NEGO*****************************
            Case "D_DEB_PER_NEGO"
                    If IsNull(Re_Test_Pic.Fields("D_DEB_PER_NEGO")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("D_DEB_PER_NEGO")
                    End If
            '  **************************D_LIVRAISON_TIT**************************
            Case "D_LIVRAISON_TIT"
                    If IsNull(Re_Test_Pic.Fields("D_LIVRAISON_TIT")) = True Then
                        NewText = ""
                    Else
                        NewText = Re_Test_Pic.Fields("D_LIVRAISON_TIT")
                    End If
            '  ****************************************************
 
             Case Else
                    NewText = InputBox(Extract_NOM, "A REMPLIR")
 
        End Select
 
                If IsDate(NewText) Then
                    NewText = Right("00" & Day(NewText), 2) & " " & Left(StrConv(Format(Month(NewText), "MMM"), vbUpperCase), 3) & " " & Year(NewText)
 
                End If
                If Not NewText = "" Then
                    Text_Annonce = Replace(Text_Annonce, "[[" & Extract_NOM & "]]", NewText)
                End If
    Loop
     Set Re_Test_Pic = Nothing
 
    Me.zdtAssemblag = Text_Annonce
 
End Sub
Serigne-BA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2011, 08h41   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 624
Points : 11 624
Bonjour,

Tu peux utiliser les propriétés SelStart et SelLength du controle texte pour réaliser les mises en surbrillance.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/10/2011, 09h30   #3
Membre du Club
 
Homme Serigne BA
Étudiant
Inscription : août 2011
Messages : 47
Détails du profil
Informations personnelles :
Nom : Homme Serigne BA
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2011
Messages : 47
Points : 52
Points : 52
Bonjour,
Merci pour ta réponse, je vais les tester.
Serigne-BA est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h27.


 
 
 
 
Partenaires

Hébergement Web