Accueil

Windows Word Excel Access Glossaire Télécharger Forum  
VBA Internet     Matériel Liens Lettre Cathy
N'oubliez pas

Besoin d'une assistance, d'une application
MS Office

Consultez GEMCCAP

Ecrivez-moi

Le lien du mois
Le Registre
Tout sur la base de registre de Windows

Lettre Septembre 2002

  • Access
    • une requête dont le paramètre est le résultat d'un choix dans un formulaire
  • Excel
    • Les dates et heures
  • VBA
    • Accélérer ses procédures et faire patienter l'utilisateur
    • Sauvegarder les options de Word ou Excel
  • Windows
    • Maîtriser le nombre de programmes qui démarre automatiquement
  • Word
    • Sauvegarder ses corrections automatiques

Access

Une requête dont le paramètre est le résultat d'un choix dans un formulaire

Soit la table nommée ListeNoms et le formulaire suivants :

Nom Prenom
1 MARTIN Albert
2 ALGER Muriel
3 MARTINE Géraldine
4 AA Alain
5 AAB Muriel

Dans le formulaire, la zone de texte indépendante est nommée : txtNom , le formulaire est nommé frmChoix.
Pour établir une requête affichant les noms entre les 2 dates indiquées par le formulaire :

  • Créer une requête en mode création
  • Ajouter la table ListeNoms
  • Dans le 1er champ ajoutez Nom
  • Dans le 2ème champ ajoutez Prenom
  • Dans la ligne critère du champ Prenom, effectuez un clic-droit et sélectionnez Créer.
  • Dans le générateur d'expression (agrandissez la fenêtre, ce sera plus pratique) :
    • Dans la liste de gauche, cliquez sur le + de Formulaires
    • Cliquez sur le + de Tous les formulaires
    • Sélectionnez frmChoix
    • Dans la liste du milieu, sélectionnez txtNom
    • Dans la liste de droite, double-clic sur <Valeur>. Dans la zone du haut s'inscrit :
      Formulaires![frmChoix]![txtNom]
    • cliquez sur Ok
  • Enregistrez votre requête reqSelectNom
  • Ouvrez le formulaire frmChoix en mode création (sélectionnez et clic sur Modifier)
  • Dans la barre d'outils Boîte à outils, vérifiez que le bouton Assistant contrôle est enfoncé (sinon cliquez dessus)
  • Cliquez sur le contrôle Bouton et dans l'assistant, sélectionnez Divers puis Exécuter une requête
  • Suivant
  • Sélectionnez reqSelectNom
  • Suivant, Suivant et Terminer
  • Fermez et enregistrez le formulaire

Maintenant si vous ouvrez ce formulaire, vous tapez par exemple : Muriel, puis cliquez sur le bouton, votre requête s'affiche avec les 2 noms ayant Muriel comme prénom.
Vous pouvez, bien entendu créer un formulaire basé sur cette requête et ouvrir le formulaire au lieu de la requête.

Avec le générateur d'expressions, vous pouvez créer toutes sortes de critères basé sur les formulaires ouverts, vous pouvez utiliser les fonctions préétablies ou créer vos propres fonctions en VBA. Tout dépend de votre créativité.

Excel

Les dates et heures

Pour travailler correctement avec les dates et les heures sous Excel, vous devez utilisez :

  • / comme séparateur de dates et non un espace ou un tiret (ex. : 12/07/02 et non 12 07 02 ou 12-07-02)
  • : comme séparateur d'heures (ex. : 12:37:40).
    Les premiers chiffres correspondent toujours aux heures, si vous ne devez entrer que des minutes et secondes, vous devez entrez 0: au début de votre saisie. Ex : 0:30:10

Si vous entrez correctement les dates et heures, Excel les aligne à droite car il les considère comme des valeurs numériques.
Vous pouvez maintenant établir des calculs sur ces dates et valeurs comme n'importe quelle valeur numérique (les sommer, les soustraire, les moyenner,...). Il faut tout de même savoir qu'Excel considère que :

  • 1 journée est égale à 1
  • 1 heure est égale à 1/24
  • 1 mn est égale à 1/24/60
  • 1 s est égale à 1/24/60/60

Par ailleurs, si vous devez afficher des heures supérieures à 23:59:59, il vous faut choisir un format de nombre spécifique : dans Format/cellule, onglet Nombre, choisissez la catégorie Heure, puis dans la liste Type, choisissez la ligne affichant des heures supérieurs à 24 (dans la version 2000 : 37:30:55).

Excel ne sait pas afficher des heures négatives, il affiche des #. Si vous devez effectuer un autre calcul sur ce résultat négatif, il n'y a aucun problème, mais il ne peut les afficher. En conséquence vous devez utiliser une formule pour les afficher avec un signe -, dans l'exemple suivant nous considérons qu'en C1 nous avons un résultat d'heures :
=SI(C1>0;TEXTE(C1;"hh:mm:ss");"-"&TEXTE(ABS(C1);"hh:mm:ss"))
Bien entendu vous pouvez choisir un autre format d'heures.

Dans une date, vous avez un jour, un mois et une année, mais plusieurs façons de les afficher (01/09/02 ou 1 Septembre 2002), pour les afficher à sa convenance, il faut comprendre comment fonctionne le format de date :

  • le jour est représenté par j
    • j affiche le jour avec au minimum 1 chiffre, ex. : 1 ou 12
    • jj affiche le jour avec 2 chiffres, ex. : 01 ou 12
    • jjj affiche le jour en lettre abrégé (3 lettres), ex. : dim ou ven
    • jjjj affiche le jour en lettre complet, ex. : dimanche ou vendredi
  • le mois est représenté par m
    • m affiche le mois avec au minimum 1 chiffre, ex. : 1 ou 12
    • mm affiche le mois avec 2 chiffres, ex. : 01 ou 12
    • mmm affiche le mois en lettre abrégé (3 ou 4 lettres), ex. : janv ou déc
    • mmmm affiche le mois en lettre complet, ex. : janvier ou décembre
  • l'année est représenté par a
    • aa affiche l'année avec 2 chiffres, ex : 02
    • aaaa affiche l'année avec 4 chiffres, ex : 2002

Maintenant pour écrire lundi 2 septembre 2002, inscrivez 2/9/02 dans une cellule, puis :

  • clic-droit/Format de cellule
  • onglet Nombre, catégorie Personnalisée
  • dans la zone Type, tapez jjjj j mmmm aaaa

Pour les heures, h représente les heures, m représente les minutes et s représente les secondes. Vous pouvez mettre 1 ou 2 h, 1 ou 2 m, 1 ou 2 s; ex : h:m:s (1:0:0) ou h:mm (1:00).
Les crochets ont un grand intérêt dans le format des heures, il empêche les heures de passer à 0 après 23:59:59, il empêche les minutes et les secondes de passer à 0 après 59 :

  • [h]:mm cumule les heures, même si vous dépassez 24 heures. Ex. : 34:00
  • [m]:ss cumule les minutes, même si vous dépasser 60 mn. Ex. : 34 heures s'affichent 2040:00
  • [s] cumule les secondes, même si vous dépasser 60 s. Ex. : 34 heures s'affichent 122400

VBA

Accélérer ses procédures et faire patienter l'utilisateur

Si votre procédure est un peu longue vous pouvez d'une part l'accélérer et d'autre part faire patienter l'utilisateur.
Pour accélérer le code (dans Excel et Word), évitez de mettre à jour l'écran :
Application.ScreenUpdating = False
En fin de procédure ajouter l'instruction suivante pour permettre l'actualisation de l'affichage :
Application.ScreenUpdating = True

Pour faire patienter l'utilisateur, affichez le curseur d'attente :

 

Attente

Normal

Excel Application.Cursor = xlWait Application.Cursor = xlNormal
Word System.Cursor = wdCursorWait System.Cursor = wdCursorNormal
Access Application.Screen.MousePointer = 11 Application.Screen.MousePointer = 0

Dans le cas de Word, lorsque votre code est terminé, le curseur redevient normal.
Dans Excel et Access, le curseur reste dans l'état où vous l'avez mis, faites donc bien attention à mettre en fin de procédure les instructions pour rétablir le curseur normal.

Sauvegarder les options de Word ou Excel

Utile pour retrouver ses options lors d'un reformatage, d'une réinstallation ou d'un changement d'ordinateur. Cette solution ne demande aucune connaissance en VBA et utilise l'enregistreur de macros.

  • Outils/Macro/Nouvelle macro
  • Nommez-la MesOptions (attention pas d'espace dans le mot)
  • Dans la liste Enregistrez la macro dans, choisissez Ce classeur (Excel) ou le nom de votre document (Word).
  • Ok
  • Dans le menu Outils, sélectionnez Options
  • Cliquez sur chacun des onglets puis cliquez sur OK
  • Dans le menu Outils, sélectionnez Correction Automatique (pour Word)
  • Cliquez sur chacun des onglets puis cliquez sur OK
  • Dans le menu Outils/Macro, sélectionnez Arrêter l'enregistrement.
  • Enregistrez votre classeur ou votre document et sauvegardez-le.

Pour l'utiliser :

  • Ouvrez votre classeur ou votre document
  • Outils/Macro/Macros...
  • Sélectionnez MesOptions dans la liste et cliquez sur Exécuter.

Windows

Maîtriser le nombre de programmes qui démarre automatiquement

De nombreux programmes se lancent à votre insu au démarrage, vous en visualisez d'ailleurs plusieurs à gauche de l'horloge. Il est peut-être inutile qu'ils soient tous ouvert en permanence, vous n'utilisez certains que de temps en temps, il est alors préférable de les lancer uniquement en cas de besoin.

Sur le bureau ou dans votre menu démarrer/Programmes (clic-droit sur démarrer/Explorer), vous pouvez ajouter un raccourci :

  • Clic-droit, Nouveau/Raccourci
  • Cliquez sur Parcourir, dans le dossier Windows (ou un de ces sous-dossiers), recherchez msconfig.exe. Dans la version XP, je l'ai trouvé dans C:\WINDOWS\PCHEALTH\HELPCTR\BINARIES.
  • Cliquez sur Suivant, tapez "Utilitaire de configuration" ou "Configuration démarrage"
  • Cliquez sur Terminer.

Ouvrez ce programme avec votre raccourci, dans l'onglet démarrage, vous avez la liste des programmes se lançant automatiquement au démarrage. Décochez ceux que vous n'utilisez pas régulièrement. Vous pourrez toujours revenir les recocher.

Word

Sauvegarder ses corrections automatiques

Vous devez effectuer une recherche sur les fichiers *.acl sur l'ensemble de votre disque. Selon la version de Word et la version de Windows, selon que des paramètres utilisateurs ont été installés, le nom du fichier peut-être différent.
Si vous n'avez qu'un fichier, aucun problème. Mais si vous en trouvez plusieurs, lorsque vous avez repéré ces fichiers, notez leur date de modification. Effectuez une modification dans vos corrections automatiques et vérifiez quel est celui dont la date de modification a changé.
Sauvegardez donc ce fichier, vous pourrez alors le remettre en place après un formatage ou un changement d'ordinateur.

AccueilDébut de la page