Bonjour, je suis débutant avec access et j'aimerais savoir s'il y a un moyen de faire un bouton de commande et que en cliquant sur se bouton, un mot s'affiche dans la zone de texte active. Une sorte de copier coller en fait.
Merci
Bonjour, je suis débutant avec access et j'aimerais savoir s'il y a un moyen de faire un bouton de commande et que en cliquant sur se bouton, un mot s'affiche dans la zone de texte active. Une sorte de copier coller en fait.
Merci
pour répondre strictement à ta question :
Dans l'événement Sur Click du bouton
mais si tu veux vraiment faire un copier/coller, il faut regarder du côté de l'objet clipboard.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Me.maZoneCible="Mon Texte"
A+
Vous voulez une réponse rapide et efficace à vos questions téchniques ?
Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.
Pour accéder au controle actif :
Screen.ActiveControl.value="titi"
Ce message vous a été utile ? Si oui, cliquez sur
Mes tutoriels Access
La rubrique Microsoft Access
Cours et tutoriels pour apprendre Access
La FAQ Access
Le Forum Access
Offres d'emploi développeur Access
Merci pour votre aide mais je suis connais vraiment pas grand choses dont je comprend que dalle. Je comprend que ce que je demande n'est probablement pas de mon niveau.
Mais sinon je vais tenter de mieux décrire ma situation et vous pourrez p-e me donner une marche a suivre plus facile.
Donc j'ai une grille d'emplacement faite de zone de texte et j'aimerais avoir des bouton qui permette d'écrire la date ou les emplacement seron libre les boutons serait le nombre de jour et ce qui apparaitrait dans la fenetre serait la date correpondante.
Donc en concret, je veux un bouton qui lorsqu'on clic dessu inscrit le texte (=Date()+1) ou +2,3... dans la cellule active
merci de m'aider
Pour chaque zone de texte que tu veux remplir, il faut que tu fasse une ligne de code pour la remplir en VBA et bien connaitre leurs noms.
Tu dois creer un bouton de commande (l'icone qui ressemble a un rectangle rectangle en perspective), zappe l'utilitaire de creation de commande parce que ce que tu veux n'est pas dans la liste des choix! (deselectionne avant l'icone baguette magique en haut)
Ensuite tu fais click droit sur le bouton, et fais "Build" (j'ai Access en anglais, je suppose que c'est Construire, ou quelque chose comme ca, tout en haut!) et choisis Code Builder.
Ca va t'ouvrir une nouvelle fenetre de code VBA ou tu vas rentrer toutes les lignes de code: normalement tu atteris entre 2 lignes "Private Sub nomcommande_OnClick()" et "End Sub", tout ca c'est la fonction a declencher quand tu cliques sur le bouton, il faut donc ecrire entre ces deux lignes.
Il faut que tu connaisses les noms de chaque zone de texte pour les utiliser la, par exemple si tu veux la valeur qu'il y a dans la zone de texte DateDepart, c'est "DateDepart.Value"
Tu n'as donc qu'a ecrire ce que tu veux mettre comme valeur pour chaque champ, par exemple si tu veux que ta zone de texte NomZonedeTexte1 soit a DateDepart+1, Nomzonedetexte2 soit a DateDepart+3... il faut ecrire:
Apres tu n'as plus qu'a fermer la fenetre VBA et voila! Par contre si tu veux que la valeur soit la date courante + 1 jour, Date()+1 ne marchera pas, il faut utiliser =DateAdd("d",1,Now()) (ajouter 1 fois "d" [day] a la date Now() )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub NomCommande_OnClick() NomZonedeTexte1.Value = DateDepart.Value + 1 NomZonedeTexte2.Value = DateDepart.Value + 3 ... End Sub
Merci, ca fonctionne quand je dit le nom du champ ou je veut qu'il soit écrit mais est-ce qu'il y a une commande qui dit (écrit le dans la zone ou est le curseur)
et aussi comment je formate la date a mon gout, de préférence (jour,mois) seulement
Merci grandement pour votre aide c'est le premier forum ou les gens sont pret a aider les ''noob''
Salut,
Si directement tu veux formater la date dans une zone de texte, tu affiche les propriétés de la zone de texte (Affichage, Propriétés [plus classique]), Onglet Format, Propriété Format, tu mets jj/mm.
Si par programmation, tu veux placer des données formatées selon jj/mm, tu peux écrireEn espérant t'avoir aidé. A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part champ=Format(variable,"dd/mm")
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
Albert Einstein
ok et puis pour la commande qui permet d'écrire dans la zone active, quelcun sais ??
Tout simplement
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.Activecontrol = valeuraajouter
Donc quand je fait exemple
NomZonedeTexte1.Value =DateAdd("d",1,Now())
mais quand j'écrit
Me.Activecontrol =DateAdd("d",1,Now()) ou Me.Activecontrol.Value =DateAdd("d",1,Now())
ca me donne un message d'erreur:
erreur d'execution '438'
propriété ou méthode non gérer par cet objet
Quelcun a une idée ???
ensuite, une autre petite question, losequ'on tape quelque choses dans la zone de texte et qu'on fait rafraichir pour que ce texte aparaisse sur les autre ordinateur connecter a la base. J'ai remarquer que le partage se fait via la table correspondante. Mais le texte transfert mais pas la conleur qu'on a appliquer a la zone de texte. Est-ce qu'il y aurais un moyen de partager la couleur de la zone en meme temps que le texte?
En fait si tu cliques sur un bouton et que c'est sur le click que tu utilises Me.ActiveControl, c'est le bouton et non pas le champ qui est le controle en cours... donc il n'arrive pas a affecter la valeur au bouton sur lequel tu cliques! Je ne sais pas trop ce que tu peux faire...
Pour la couleur, comment fais-tu pour ecrire en couleur dans les zones de texte? Je ne savais meme pas qu'on pouvait donc je ne pourrai pas t'aider la dessus non plus!
euh, bien avec les controle simillaire que l'on retrouve dans tout les logiciel office
Il faut ajouter à ton bouton l'évènement souris déplacer,
ce qui fait que lorsque tu pointe le cuseur de ta souris sur le bouton, avant même que tu es cliqué, tu peux récupérer le nom de ton dernier control actif !
En entête de ton module il faut définir la variable qui contiendra le nom de ton controle
Ensuite dans ton bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Option Compare Database Option Explicit Dim CtrActif As String
Voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub NomBouton_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) ' Empècher les messages d'erreur intempestif On Error Resume Next ' Avant d'exécuter click, il faut déterminer dans quel controle on se trouve CtrActif = Screen.ActiveControl.Name On Error GoTo 0 End Sub
Salut benasp,
Dans la zone de déclaration, il faut déclarer une variable qui va recevoir le contrôle zone de texte
A toi de trouver un événement pour recueillir le contrôle zone de texte active (de préférence avant que le focus passe sur le bouton) et
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private ctl As TextBox
ajoutes-y le code suivant
Puis à l'événement sur clic du bouton,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 On Error Resume Next 'Une erreur survient lorsque le contrôle actif n'est pas une zone de texte donc poser le code à un événement associé à une zone de texte par exemple Sur sortie Set ctl = Me.ActiveControl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ctl.Value = ce que tu veux
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
Albert Einstein
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager