Lettre Mai 2005

 
N'oubliez pas

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

Consultez GEMCCAP

Ecrivez-moi

Le lien du mois
Les règles de la Typographie

 Access

Somme cumulée dans une requête

Créez une requête (dans notre exemple, cette requête est basé sur la table nommée tblTABLE).
En plus de vos champs, ajoutez le champ numérique que vous voulez sommer (dChampNum dans l'exemple), mettez lui un ordre croissant. Ajoutez un champ calculé en tapant ce qui suit (modifier le nom de la table par la votre, et le nom du champ par le votre) :

dSom: CNum(SomDom("[dChampNum]";"tblTABLE";"[dChampNum] <=" & [dChampNum]))

Une table invisible

Pour rendre une table invisible vous pouvez :

  • la masquer :
    • Clic-droit sur la table, sélectionnez propriété
    • Cochez Masqué
  • ou lui affecter l'attribut de table système :
    • renommez-la en ajoutant Usysdevant son nom. Par exemple tblTABLE en UsystblTABLE

Vous pourrez l'afficher :

  • Dans le 1er cas, en cochant Outils/Options/onglet Affichage/Objets masqués
  • Dans le 1er cas, en cochant Outils/Options/onglet Affichage/Objets système

 Excel

Récupérer une liste sans doublons

Pour cela il faut établir un filtre élaboré comme suit :

  • Insérez une nouvelle feuille que nous nommerons Liste sans doublons
  • Copiez les cellules comprenant les titres de votre liste, pour l'exemple considérons qu'elle se trouve sur la feuille Liste originale
  • Collez celles-ci sur la feuille Liste sans doublons
  • Dans la feuille Liste sans doublons, 1 ligne en dessous de vos titres, tapez a (exemple ci-dessous)
    Titre 1 Titre 2 Titre 3
    a    
  • Sélectionnez cette cellule (celle contenant a)
  • Données/Filtrer/Filtre élaboré...
  • Dans la zone Plages, indiquez l'adresse de la liste d'origine, celle se situant sur la feuille Liste originale
  • Dans la zone Zone de critères, n'indiquez rien
  • Cochez copier vers un autre emplacement
  • Dans la zone Copier dans, indiquez l'adresse de vos titres sur la feuille Liste sans doublons
  • Cochez Extraction sans doublons
  • Ok

lundi d'une semaine X, d'une année Y

Voici une formule qui vous permet d'afficher une date correspondant au lundi d'une semaine X pour une année Y :

=DATE(A1;1;(8-JOURSEM(DATE(A1;1;1);3))+(7*(A2-1)))

A1contient l'année et A2 contient le n° de la semaine

Imposer une saisie arrondi

Sur la page http://www.cathyastuce.com/excel/fonctionsexemples.php#arrondir, je vous explique comment arrondir un nombre à n'importe quel multiple.
Dans cette nouvelle astuce, nous imposerons la saisie d'un nombre arrondi au multiple voulu, par exemple nous ne voulons que les saisies 10 ou 10,5 et non 10,2 ou 10,3.

  • Sélectionnez la cellule (pour notre exemple considérons que c'est la cellule A1)
  • Données/Validation...
  • dans l'onglet Option :
    • dans la liste Autoriser sélectionnez Personnalisé
    • dans Formule, saisissez =MOD(A1;0,5)=0
      Remplacez A1 par l'adresse de votre propre cellule
  • dans l'onglet Alerte d'erreur :
    • cochez Quand des données non valides sont tapées
    • sélectionnez Arrêt dans la liste Style
    • Tapez un texte explicatif dans la zone Message d'erreur
  • OK

 VBA

Lister les sous-dossiers d'un dossier

Sub ListDos()
    'déclaration des variables de type string (chaîne de caractères)
    Dim strChem As String, strTemp As String
    'déclaration des variables de type Integer (entier)
    Dim iLigne As Integer, iCol As Integer
    
    'efface la liste déjà existante, le code se trouve ci-dessous
    EffacExist
    'dans votre classeur il vous faut nommer une cellule "rChem"
    'et y mettre l'adresse du dossier à lister
    'récupération du dossier à lister dans la cellule "rChem",

    strChem = Range("rChem")
    'Pour faire une recherche dans un dossier il est impératif que le chemin finisse par un \
    'En conséquence on vérifie sa présence en fin de chemin
    's'il n'y est pas on l'ajoute
    If Right(strChem, 1) <> "\" Then strChem = strChem & "\"
    'iLigne représente le N° de la ligne de la cellule "rChem"
    iLigne = Range("rChem").Row
    'iCol représente le N° de la colonne de la cellule situé à droite de "rChem"
    iCol = Range("rChem").Column + 1
    'Dir renvoie dans strTemp le nom du 1er dossier(vbDirectory) de strChem
    strTemp = Dir(strChem, vbDirectory)
    'on fait les instructions entre do et loop jusqu'à ce que strTemp soit vide
    's'il est vide c'est qu'il ne contient plus d'autre dossier
    Do Until strTemp = ""
        'ignore le dossier courant et le dossier parent
        'en effet dir renvoie tous les dossiers comme dans le DOS
        If strTemp <> "." And strTemp <> ".." Then
            'incrémentation de la ligne pour écrire en dessous
            iLigne = iLigne + 1
            'la méthode cells renvoie une cellule à partir d'un N° de ligne et d'un N° de colonne
            Cells(iLigne, iCol) = strTemp
        End If
        'recherche du dossier suivant
        strTemp = Dir
    Loop
End Sub

Sub EffacExist()
    'déclaration des variables de type Integer (entier)
    Dim iLigneDeb As Integer, iLigneFin As Integer, iCol As Integer

    'iCol représente le N° de la colonne de la liste des dossiers
    iCol = Range("rChem").Column + 1
    'iLigneDeb représente le N° de de la cellule "rChem"
    iLigneDeb = Range("rChem").Row
    'si la 1ère cellule est vide c'est inutile d'aller plus loin
    If Cells(iLigneDeb + 1, iCol) = "" Then Exit Sub
    'iLigneFin représente le N° de la derniere ligne de la liste des dossiers
    iLigneFin = Cells(iLigneDeb + 1, iCol).End(xlDown).Row
    'on efface maintenant le contenu de la liste des dossiers
    'range(cells(noligne,nocolonne),cells(noligne2,nocolonne2)) représente une plage allant du 1er cells au second cells
    'ClearContents permet de n'effacer que le contenu sans modifier le forma
    Range(Cells(iLigneDeb + 1, iCol), Cells(iLigneFin, iCol)).ClearContents
End Sub

Ancrer une image (ou dessin) sélectionné (dans Word)

Sub AncrerObjet()
    'l'ancrage est l'inverse de celui existant
    'ainsi la même commande sert à passer du statut "non ancré"à "non ancré"
    ' et du statut "non ancré" à "non ancré"
    Selection.ShapeRange.LockAnchor = Not Selection.ShapeRange.LockAnchor
End Sub

Mettre une ombre translucide et 1 bordure (dans Word)

Sub BordOmbr()
    With Selection.ShapeRange
        'attribue une couleur de bordure
        'cette couleur est calculé à partir d'un mélange de Rouge, Vert, Bleu
        'grâce à RGB(Rouge, Vert, Bleu), chacune de ces couleurs peuvent prendre
        'la valeur 0 à 255
        .Line.ForeColor.RGB = RGB(0, 102, 51)
        'bordure visible
        .Line.Visible = msoTrue
        'ajout d'une ombre
        .Shadow.Type = msoShadow14
        'transparence de l'ombre entre 0 (opaque) et 1 (transparent)
        .Shadow.Transparency = 0.5
    End With
End Sub

 Word

Mettre du texte dans une forme

Effectuez un clic-droit sur votre forme (forme automatique, rectangle ou ellipse) et sélectionnez Ajouter du texte. Votre forme se comporte alors comme une zone de texte, vous pouvez donc mettre en forme ce texte.

Séparateur de styles (à partir de Word XP)

Il est parfois nécessaire d'ajouter un commentaire, ou une image (aligné sur le texte), à un titre. Mais lorsqu'on établit le table des matières (sommaire), ce commentaire est repris. Pour l'exclure, il faut procéder ainsi :

  • lors de la frappe de votre titre, tapez la combinaison de touche Alt+Ctrl+Entrée
  • tapez ensuite votre commentaire et attribuez-lui un style normal

Vous pouvez visualiser ce séparateur en affichant tous les caractères, son symbole est la marque de fin de paragraphe bordée d'un trait pointillé :

 Windows XP

Arrêter le PC avec le bouton de l'unité centrale

Vous avez pris l'habitude de cliquez sur le bouton démarrer, puis Arrêter l'ordinateur pour éteindre votre ordinateur. Mais ce dernier peut enfin avoir un comportement "normal" : un bouton pour allumer et éteindre un appareil électrique.

Dans le Panneau de configuration, ouvrez Options d'alimentation, puis l'onglet Avancé.
Dans la partie Boutons d'alimentation, ouvrez la liste déroulante de Lorsque j'appuie sur le bouton de mise sous-tension et choisissez :

  • Arrêter pour arrêter et éteindre le PC
  • Demandez-moi que faire pour afficher la fenêtre du choix de l'arrêt : Mettre en veille, Arrêter et Redémarrer.
AccueilDébut de la page