IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ MS-Access

FAQ MS-AccessConsultez toutes les FAQ

Nombre d'auteurs : 140, nombre de questions : 926, dernière mise à jour : 15 juin 2021 

 
OuvrirSommaireVBAInterface et graphisme
 
Sélectionnez
DoCmd.ShowToolbar "NomBarreOutil", acToolbarNo
Créé le 1er avril 2003  par Bidou

Pour les déactiver :

 
Sélectionnez
Dim i As Integer 
For i = 1 To Application.CommandBars.Count 
    DoCmd.ShowToolbar Application.CommandBars.item(i).name, acToolbarNo 
Next

Et pour les réactiver :

 
Sélectionnez
Dim i As Integer 

For i = 1 To Application.CommandBars.Count 
    DoCmd.ShowToolbar Application.CommandBars.item(i).name, acToolbarWhereApprop 
Next
Créé le 3 septembre 2004  par Gaël Donat

Pour la faire disparaître :

 
Sélectionnez
DoCmd.ShowToolbar "barre menu", acToolbarNo

Pour la faire apparaître :

 
Sélectionnez
DoCmd.ShowToolbar "barre menu", acToolbarYes


Faire un clic droit sur la barre des menus puis sélectionnez Personnaliser et dans l'onglet Barre d'outils regardez l'orthographe de la barre des menus.

Mis à jour le 14 octobre 2007  par ZEUSGR

Allez dans :

Menu outil/démarrage

Décochez les cases suivant les menus que vous voulez voir disparaître.

Créé le 12 mai 2004  par Demco
 
Sélectionnez
MsgBox "ligne1" & vbCrLf & "ligne2"
Créé le 1er avril 2003  par Bidou
 
Sélectionnez
Function CreateInstantForm(ByVal Tbl As String)
DoCmd.SelectObject acTable, Tbl, True
DoCmd.RunCommand acCmdNewObjectAutoForm
End Function
Créé le 6 octobre 2003  par cafeine
 
Sélectionnez
Application.Echo False

Il faut faire attention à réactiver le rafraîchissement grâce à :

 
Sélectionnez
Application.Echo True

Il faudra également prévoir une gestion des erreurs pour éviter une sortie non désirée de la procédure.

Créé le 1er avril 2004  par Drosera, FRED.G

Lien : Comment forcer le rafraîchissement de l'écran ?

Voici ci-dessous des liens intéressants sur le sujet.

Mis à jour le 13 juin 2004  par Demco

Lien : http://www.mvps.org/accessfr/general/gen0002.htm
Lien : http://www.mvps.org/accessfr/apis/api0029.htm

Rappel :

  1. Les constantes des couleurs Windows vous permettent de récupérer les couleurs choisies par chaque utilisateur, dans le panneau de contrôle de Windows. Si vous les utilisez, vos utilisateurs pourront recolorer eux-mêmes votre application (petit détail très apprécié :) ). Aide Access, chapitre Constantes Couleurs système. Ou bien, tapez " vbButtonFace " dans un module, appuyez sur F1.
  2. Les constantes vbWhite, vbBlack, etc. sont disponibles pour les 16 couleurs de base : Aide Access, chapitre Constantes de couleurs. Ou bien, tapez " vbWhite " dans un module, appuyez sur F1.
  3. La fonction (obsolète) QbColor() renvoie un des 16 codes couleur ci-dessus, à partir d'un nombre (0 à 15).
  4. La fonction RGB() renvoie n'importe quelle couleur, à partir des trois valeurs Red, Green, Blue.
  5. Pour choisir n'importe quelle couleur et coller son code dans votre module VBA :
  • créez un nouveau formulaire (vous ne le garderez pas, sauf pour des manips comme celle-ci) ;
  • sélectionnez une section quelconque, affichez ses propriétés ;
  • dans l'onglet Format, cliquez dans Couleur fond ;
  • cliquez sur le bouton "..." pour ouvrir la boîte de dialogue des couleurs ;
  • choisissez votre couleur, éventuellement en cliquant sur Définir les couleurs personnalisées... ;
  • cliquez sur OK ;
  • appuyez sur Entrée pour visualiser votre couleur dans le fond de la section choisie.

Le code de la couleur est affiché dans la propriété Couleur fond.

Vous pouvez le copier/coller dans votre code, créer une (série de) constante(s)...

Exemple :

 
Sélectionnez
Public Const vbJaunePale = 13434879
Créé le 12 mai 2004  par Papy Turbo

Il suffit de supprimer les textes et de les recréer.

Créé le 3 septembre 2004  par Lucifer

Il faut utiliser l'événement Timer du formulaire.
Dans un premier temps, allez dans les propriétés du formulaire, onglet événement et réglez l'Intervalle minuterie, par exemple à 1000 pour une seconde ou 60 000 pour une minute, etc.

Puis insérez ce code dans le formulaire :

 
Sélectionnez
Private Sub Form_Timer()
  Me.Texte1 = Now
End Sub
Créé le 1er janvier 2005  par Tofalu

Il suffit d'utiliser la méthode MoveSize de l'objet Docmd.
Consultez l'aide Access pour le détail des arguments.

Créé le 1er janvier 2005  par Team Access

Rappelons que le code d'une couleur se calcule par les composantes RGB à l'aide de la formule :
Red + Green * 256 + Blue * 256 * 256.
Il nous suffit donc d'écrire la fonction inverse.

 
Sélectionnez
Public Sub ComposantesRGB(ByVal Couleur As Long, Red As Long, Green As Long, Blue As Long) 
    
Blue = Int(Couleur / 65536) 
Green = Int((Couleur - (65536 * Blue)) / 256) 
Red = Couleur - ((Blue * 65536) + (Green * 256)) 
    
End Sub 

Private Sub Command1_Click() 

Dim Rouge As Long, Vert As Long, Bleu As Long 

ComposantesRGB 9550940, Rouge, Vert, Bleu 
LblRed.Caption = "Red = " & Rouge 
LblGreen.Caption = "Green = " & Vert 
LblBlue.Caption = "Blue = " & Bleu 
    
End Sub
Créé le 1er janvier 2005  par Jean-Marc Rabilloud

Lien : FAQ VB

Si vous cherchez simplement à connaître la couleur d'un point dans un PictureBox, utilisez sa méthode Point(). Sinon, voici une méthode pour récupérer la couleur de n'importe quel pixel à l'écran.

Placez ce code dans un module standard :

 
Sélectionnez
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Public Type Couleur
    red As Integer
    green As Integer
    blue As Integer
End Type
   
Public Function CouleurPixel (ByVal x As Long, ByVal y As Long) As Couleur

    Dim pixel As Couleur, RGBPx As Long
   
    RGBPx = GetPixel(GetDC(0&), x, y)
    pixel.red = &HFF& And RGBPx
    pixel.green = (&HFF00& And RGBPx) \ 256
    pixel.blue = (&HFF0000 And RGBPx) \ 65536
    CouleurPixel = pixel

End Function

La fonction CouleurPixel renvoie la couleur du pixel dont les coordonnées lui ont été passées en paramètres, dans une structure Couleur. Si vous voulez connaître la position du pointeur de souris, ajoutez ces déclarations dans le module standard :

 
Sélectionnez
Public Declare Function GetCursorPos Lib "user32" (lpPoint As PointAPI) As Long

Public Type PointAPI
    X As Long
    Y As Long
End Type

Voici maintenant un exemple où l'on utilise un Timer pour mettre dans un PictureBox la couleur du pixel survolé par la souris :

 
Sélectionnez
Private Sub Timer1_Timer()

    Dim pixel As Couleur, CursPos As PointAPI
    
    GetCursorPos CursPos
    pixel = CouleurPixel(CursPos.X, CursPos.Y)
    Picture1.BackColor = RGB(pixel.red, pixel.green, pixel.blue)
   
End Sub
Créé le 1er janvier 2005  par grafikm_fr, nightfall

Lien : FAQ VB

Exemple pour afficher :

 
Sélectionnez
Docmd.SelectObject acTable, , True

Exemple pour masquer :

 
Sélectionnez
Docmd.SelectObject acTable, , True
Docmd.RunCommand acCmdWindowHide
Créé le 10 mai 2005  par Team Access

Il arrive que vous changiez par le code la couleur d'un texte, mais celle-ci ne sera prise en compte que plusieurs secondes plus tard.

Il vous suffit d'ordonner par le code le rafraîchissement de l'écran lorsque bon vous semble grâce à :

 
Sélectionnez
Me.Repaint
Créé le 10 mai 2005  par Tofalu

Lien : Comment désactiver le rafraîchissement de l'écran (figer l'écran) ?

Tout d'abord, dans les propriétés du formulaire, onglet Événement mettez l'attribut KeyPreview/Aperçu des touches à Oui.

Ensuite, dans ce même formulaire utilisez par exemple :

 
Sélectionnez
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyC And Shift = acCtrlMask Then
    MsgBox ("Ctrl+C pressés")
End If
End Sub

Ouvrez maintenant ce formulaire, appuyez sur les touches Ctrl+C comme pour faire un "copier" et constatez :).

Créé le 20 novembre 2005  par DMboup
 
Sélectionnez
Public Function AfficherFenetreBDT(Afficher As Boolean)
On Error GoTo Err_AfficherFenetreBDT
Application.SetOption "ShowWindowsInTaskbar", Afficher
Exit_AfficherFenetreBDT:
    Exit Function
Err_AfficherFenetreBDT:
    If Err.Number = 2091 Then 'Pas dans 97 & 95 sinon Erreur
        Exit Function
    Else
        MsgBox "Erreur N°" & Err.Number & vbCrLf & Err.Description, 16
        Resume Exit_AfficherFenetreBDT
    End If
End Function

Sub Afficher()
 AfficherFenetreBDT True
End Sub

' Appel de la fonction
Sub Masquer()
 AfficherFenetreBDT False
End Sub

Rappel : vous aurez le même résultat sans passer par VBA en allant dans : Menu Outils/Options onglet Affichage, cochez Fenêtres dans la barre des tâches.

Créé le 20 novembre 2005  par argyronet

À chaque commande de menu et de barre d'outils de Microsoft Access est associée une constante que vous pouvez utiliser avec la méthode RunCommand pour exécuter cette commande à partir de Visual Basic.

Ci-dessous les commandes pour réorganiser les fenêtres ouvertes, horizontalement ou verticalement :

Horizontalement :

 
Sélectionnez
DoCmd.RunCommand (acCmdTileHorizontally)

Verticalement :

 
Sélectionnez
DoCmd.RunCommand (acCmdTileVertically)
Créé le 14 octobre 2007  par Philippe JOCHMANS, Lou Pitchoun

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2013 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.