[VBA sous Access] Creer un groupe de controle
Fermé
nicolas
-
24 févr. 2006 à 09:41
latuque Messages postés 4 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 2 mars 2011 - 4 août 2008 à 20:20
latuque Messages postés 4 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 2 mars 2011 - 4 août 2008 à 20:20
Bonjour,
J'essaye de raliser un petit calendrier en vb,
pour cela il faudrait que je puisse creer un groupe de control (nomcontrole(index)). Je sais le faire sous Vb6 mais la je n'y parvient pas, si quelqu'un pouvait m 'aider.Peut etre manque t 'il une reference a activer.
Merci d'avance
J'essaye de raliser un petit calendrier en vb,
pour cela il faudrait que je puisse creer un groupe de control (nomcontrole(index)). Je sais le faire sous Vb6 mais la je n'y parvient pas, si quelqu'un pouvait m 'aider.Peut etre manque t 'il une reference a activer.
Merci d'avance
A voir également:
- [VBA sous Access] Creer un groupe de controle
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
- Créer un lien pour partager des photos - Guide
8 réponses
blux
Messages postés
26748
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 mars 2025
3 332
24 févr. 2006 à 14:32
24 févr. 2006 à 14:32
ACCESS ne permet pas d'avoir un nom identique pour plusieurs contrôles, mais moyennant un peu d'astuce on peut contourner :
Tu crées un formulaire qui contient plusieurs objets (type étiquette par exemple) en les nommant avec un préfixe "Etiq_n" où n est le numéro du contrôle.
Ensuite tu peux modifier les valeurs via une boucle avec indirection du nom de contrôle, exemple pour modifier la légende des étiquettes du formulaire 'formulaire2' (code mis dans un bouton) :
Aura pour effet de mettre "titi" dans toutes les étiquettes dont le nom commence par "Etiq_"...
Ca irait pour commencer ?
Tu crées un formulaire qui contient plusieurs objets (type étiquette par exemple) en les nommant avec un préfixe "Etiq_n" où n est le numéro du contrôle.
Ensuite tu peux modifier les valeurs via une boucle avec indirection du nom de contrôle, exemple pour modifier la légende des étiquettes du formulaire 'formulaire2' (code mis dans un bouton) :
Private Sub Commande2_Click() Dim Mon_Ctl As Control For Each Mon_Ctl In Forms!Formulaire2 With Mon_Ctl If Left(.name, 5) = "Etiq_" Then Me(.name).Caption = "titi" End If End With Next End Sub
Aura pour effet de mettre "titi" dans toutes les étiquettes dont le nom commence par "Etiq_"...
Ca irait pour commencer ?
Quelqu'un peut juste me dire si c'est possible histoire d' arreter de perdre mon temps a chercher :(
Merci
Merci
blux
Messages postés
26748
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 mars 2025
3 332
24 févr. 2006 à 13:07
24 févr. 2006 à 13:07
Salut,
il existe un contrôle de type calendrier sous ACCESS...
Mais peut-être que tu veux le créer toi-même ?
il existe un contrôle de type calendrier sous ACCESS...
Mais peut-être que tu veux le créer toi-même ?
En effet j'ai vu la presence de ce controle.
Mais je souhaiterais aussi si possible le creer moi -meme :)
Mais je souhaiterais aussi si possible le creer moi -meme :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
blux
Messages postés
26748
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 mars 2025
3 332
24 févr. 2006 à 13:28
24 févr. 2006 à 13:28
Je ne connais pas VB, mais je pratique régulièrement VBA...
Peux-tu me définir ce que tu entends par groupe de contrôle ? (comportement, syntaxe, but de la manoeuvre...)
VBA propose les groupes d'options (boutons radio, cases à cocher, boutons bascule...)...
Peux-tu me définir ce que tu entends par groupe de contrôle ? (comportement, syntaxe, but de la manoeuvre...)
VBA propose les groupes d'options (boutons radio, cases à cocher, boutons bascule...)...
Un groupe de controle est un ensembe de controles ayant les memes propriétées (meme nom) et etant indexé ( comme si tout ces controles etaient dans un tableau).
Ex: Si je souhaite remplir 5 textbox avec la meme valeur:
for i=0 to 4
matextbox(i)=valeur
next i
Si je n'est pas été assez clair n'hesite pas a me redemander
merci :)
Ex: Si je souhaite remplir 5 textbox avec la meme valeur:
for i=0 to 4
matextbox(i)=valeur
next i
Si je n'est pas été assez clair n'hesite pas a me redemander
merci :)
Merci de ton attention!
ca me parait etre un bon debut, je vais essayer de voir comment pouvoir remplir la valeur des différents boutons avec cette methode :)
ca me parait etre un bon debut, je vais essayer de voir comment pouvoir remplir la valeur des différents boutons avec cette methode :)
latuque
Messages postés
4
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
2 mars 2011
4 août 2008 à 20:20
4 août 2008 à 20:20
bonjour, j'ai également essayé ceci comme code mais il m'indique incompatibilité de type
eexistil un moyen de le faire
Private Function ChoixRegion() As String Dim NbRegion As Integer Dim Mon_Cb As CheckBox NbRegion = 1 For Each Mon_Cb In Forms With Mon_Cb 'If Left(.Name, 1) = "c" Then If .Value = Checked Then nom = Str(NbRegion) & "," End If NbRegion = NbRegion + 1 'End If End With Next MsgBox (nom) ChoixRegion = nom End Function
eexistil un moyen de le faire
4 août 2008 à 17:29
j'ai essaiyé ton code mais le bout : Me(.name).Caption = "titi" ne fonctionne pas je sai pas si c'est voulu mais de toute manière moi ce que je veux c'est pouvoir vérifier la propriété value de mon controle et il me la donne pas
le controle en question est un checkbox et voici ce que je veux faire
Dim Mon_Ctl As Control
NbRegion = 1
For Each Mon_Ctl In Forms!saisie
With Mon_Ctl
If Left(.Name, 1) = "c" Then
If (.Value) = Checked Then
nom = Str(NbRegion) & ","
End If
NbRegion = NbRegion + 1
End If
End With
Next
MsgBox (nom)
ChoixRegion = nom
choixregion est le nom de ma function et elle retourne une string qui est utilisé dans une requete dans un in