Les tableaux croisés dynamiques (ou ‘pivot tables’ en anglais) rendent bien des services qui vont au-delà de la simple présentation de données de façon agrégée. Parfois, ce qu’on ne peut produire grâce à des formules Excel natives, requiert un ou deux tableau(x) croisé(s) dynamique(s) afin d’agréger en premier lieu les données, puis d’utiliser ce résultat dans un nouvel onglet et appliquer les formules Excel finales.

Toutefois, l’inconvénient majeur d’utiliser ces tableaux de cette façon, est qu’Excel nous représente le résultat en laissant plusieurs cellules vides comme ceci:

 pivot_table

Or, ce qu’on souhaiterait, c’est ceci:

result_table

Alors, bien sûr, sur des tables relativement petites, on peut envisager de remplir les cellules vides à la main en recopiant la valeur du dessus. Mais imaginez un tableau géant, avec plusieurs colonnes à remplir et surtout des milliers de lignes. Tâche totalement absurde et surtout chiante à mourir!

Voici comment procéder en 5 secondes.

  1. Première étape, on sélectionne toute la table
    step1
  2. Ensuite, on appuie sur la touche F5, ou Ctrl+G. Ceci fait apparaitre la fenêtre « Go To » ou « Aller à… » en français. Ensuite, on clique sur le bouton « Spécial… »
    step2
  3. Et on sélectionne « Blanks » ou « Vides » si je me souviens bien en français. Ceci pour ne sélectionner que les cellules vides car ce sont celles-là précisément qu’on souhaite remplir.
    step3 
  4. Lorsqu’on valide, on obtient donc la sélection suivante:
    step4
  5. Il n’y plus qu’à appuyer sur la touche « = », puis appuyer sur la flèche « Haut » afin de sélectionner la cellule juste au dessus, puis, tout en maintenant la touche [Ctrl], appuyer sur la touche [Entrée]
    step5

Excel applique alors la formule à toutes les cellules sélectionnée en commençant par la première en haut à gauche. Comme le cellule juste au-dessus contient une valeur, alors il remplit la première cellule vide de cette dernière, puis passe à la suivante qui se retrouve ainsi ayant une valeur juste au-dessus d’elle, etc.

Lorsqu’on utilise PeopleSoft et plus particulièrement l’outils « Query Manager » depuis l’interface web, on constate que PeopleSoft applique automatiquement des conversions en chaînes de caractères dès lorsqu’on « Sélectionne » un champ de type DATE ou DATETIME. Il utilise la fonction « TO_CHAR » et cela devient alors un casse-tête pour reconvertir cela dans un format convenable pour effectuer des opérations, telles que calculer le nombre de jours entre 2 dates. Voici comment procéder:

FLOOR(sysdate - TO_DATE(SUBSTR(A.LOGINDTTM,1,16),'YYYY-MM-DD-HH24.MI'))

Voici le contexte. J’ai une clé USB sur laquelle j’ai installé quelques applications dites « portables ». Pour rappel, une application portable est une application qui n’a pas besoin d’être installée via un installateur de programmes et donc dont le répertoire (contenant le fichier exécutable) peut être déplacé, mis sur un clé USB par exemple pour y être exécuté sur n’importe quel ordinateur. Ce que je souhaitais faire, simplement mettre à la racine de cette clé USB les raccourcis vers tous ces programmes portables.

Ce qu’il faut savoir, c’est que sous Windows, lorsqu’on crée un raccourci vers une application, celui-ci incorporera l’adresse absolue vers le fichier exécutable. Donc si sur votre ordinateur votre clé USB se voit affecter la lettre F:\, il est fort probable que lorsque vous mettrez votre clé USB sur un autre ordinateur, qu’elle se voit affecter une toute autre lettre, telle que D:\, E:\, G:\ etc. (ce qui dépend totalement du nombre de disque durs/optiques que comporte l’ordinateur dans lequel vous brancherez votre clé USB.

La solution est de créer un raccourci « relatif », cela ne peut malheureusement pas se faire nativement sous Windows. Il vous faudra user de 2 autres petits logiciels (portables eux aussi, tant qu’à faire):

L’astuce consiste en fait à enregistrer le chemin relatif de votre exécutable dans un fichier « .bat » sur votre clé USB, puis de convertir ce fichier bat en fichier exécutable (tout en y incorporant l’icône d’origine de votre logiciel portable). Une fois ce fichier « exe » créé, il ressemble comme deux gouttes d’eau à votre programme initial mais fonctionnera LUI depuis n’importe quelle lettre de lecteur (allouée à votre clé USB).

Voici les quelques étapes en images:

Tout d’abord, je vous présente mon cas de test. Voici l’architecture de mon répertoire avec l’emplacement du programme pour lequel je souhaiter créer un raccourci relatif:


Il s’agit du programme « UwAmp » (serveur Apache + PHP + MySQL en version portable, histoire d’avoir mon environnement de développement partout avec moi sur une clé USB). Comme vous pouvez le voir sur la gauche de l’image, je stocke mes fichiers « .bat » dans un répertoire distinct ainsi que toutes les icônes dans un répertoire distinct également. (Ceci est totalement au goût de chacun).

  1. Créez votre fichier « .bat ». Peu importe comment vous l’appèlerez. D’ailleurs, vous pourrez le supprimer par la suite.


    En revanche, ce qui est ESSENTIEL à cette étape, c’est de savoir où vous mettrez votre raccourci d’application. Car si vous vous trompez, votre raccourci ne fonctionnera pas. Pour ma part, je souhaite mettre les raccourcis (en version .exe) directement à la racine de ma clé USB afin que je puisse lancer les applications directement depuis la racine de ma clé. Le répertoire « UwAmp » étant directement à la racine, j’ai donc tapé le chemin relatif ci-dessus.

  2. Utilisez le programme « BatToExe Converter ».


    J’ai surligné en jaune les points d’attention. Bien sûr, commencez par sélectionner votre fichier « .bat », le programme remplira automatiquement la version « .exe » correspondante dans le champ en dessous, cochez « Application invisible » afin d’éviter d’avoir une fenêtre « cmd » ou « noire » ou « DOS » (c’est comme vous préférez l’appeler  😛 ) tout le temps que votre application tourne. Enfin, sélectionnez « 64 bits » si votre version de windows est 64 bits, sinon, l’application ne sera pas capable d’insérer votre icone dans le fichier exécutable. NE CLIQUEZ PAS ENCORE sur « Compiler » car vous devez rajouter votre fichier .ico pour que votre .Exe ressemble à l’application d’origine.

  3. Insérez le fichier .ico à votre exécutable. AVANT de cliquer sur « Compiler », allez dans l’onglet « Informations de version », puis renseignez le champ « Fichier icône » comme ci-dessous et ENFIN, cliquez sur le bouton « Compiler ».

  4. Vous devriez maintenant avoir un fichier « .Exe » avec l’icone de l’application d’origine. Vous êtes désormais libre de déplacer ce fichier .exe là où vous comptiez le mettre dès le départ. Voici le résultat final suivant l’exemple que j’ai utilisé ici:

 

Bien entendu, je n’ai rien inventé, et sans le travail d’autres personnes l’ayant fait avant moi, je n’aurai pas pu écrire cet article. Tout ce que je me suis contenté de faire, c’est de retranscrire en français les quelques étapes. L’article original qui m’a aidé à faire ce tutoriel est en bas d’article. D’ailleurs, tout article de type « tutoriel » citera systématiquement toutes les sources.

Source: Site Internet How To Geek

Ce matin, je cherchais à faire une chose somme toute assez simple. Du moins, c’est ce que je croyais avant de me lancer dans l’aventure. Je souhaite créer un filtre de recherche dans Gmail à partir d’un groupe existant dans mes contacts. Et bien… c’est IMPOSSIBLE! On NE PEUT PAS faire de recherche à partir du nom d’un groupe existant.

Tout ce qu’il est possible de faire est listé sur cette page.

Alors, en cherchant sur Internet, on voit plusieurs suggestions, comme d’ajouter tous les contacts d’un groupe à un « Cercle » sauf que… les « Cercles » sont une fonctionnalité de « Google+ ». Et si vos contacts n’existent pas sous Google+ et bien vous ne pourrez pas les ajouter à votre cercle.

Donc, à ce jour, je n’ai pas trouvé d’autre méthode pour créer un Filtre dynamique qui se mettrait à jour automatiquement dès lors que je rajoute un nouveau contact à un groupe.

 

Je commence ce blog dans le but d’enregistrer toutes ces petites choses que je recherche encore et toujours, à de multiples reprises sans jamais parvenir à m’en souvenir. Si je ne m’en souviens pas, c’est parce qu’elles ne sont pas essentielles ou simplement supposées être utiles qu’une seule fois. Seulement voilà, le constat est toujours le même, on finit toujours pas se dire « Aaah, j’avais déjà fait cette recherche sur Internet, seulement, je ne m’en souviens plus comment j’avais résolu ce point… »

Alors voilà, chaque fois que je chercherai une information et que je trouverai ça utile de s’en souvenir pour plus tard, je viendrai écrire un petit post ici!

Le but secondaire étant de partager également ceci avec la communauté francophone car force est de constater qu’on trouve bien plus d’aide en écrivant en anglais qu’en français. Alors faisons un petit geste pour ceux qui ne parlent/lisent pas l’anglais suffisamment bien pour se débrouiller :).