Médiaforma

posts

VLC peut être commandé depuis un navigateur Web quelconque. Si vous vous demandez à quoi cela pourrait bien servir, imaginez que vous utilisez VLC pour visionner des vidéos sur un écran de télévision connecté au port HDMI de votre carte vidéo. Si VLC peut être commandé depuis un navigateur Web, vous pourriez utiliser votre smartphone comme une télécommande. Voyons comment procéder.

Ouvrez VLC. Lancez la commande Préférences dans le menu Outils ou appuyez sur Contrôle + P. La boîte de dialogue Préférences simples s’affiche. Sélectionnez l’option Tous dans l’angle inférieur gauche de la boîte de dialogue. La boîte de dialogue Préférences avancées s’affiche. Déplacez la barre de défilement vers le bas. Cliquez sur Interfaces principales sous Interface et cochez la case Web :

Dans la partie gauche de la boîte de dialogue, développez l’entrée Interfaces principales, puis cliquez sur Lua. Définissez un mot de passe et cliquez sur Enregistrer :

Fermez puis rouvrez VLC. Vous devriez maintenant avoir accès au contrôle à distance de VLC via un simple navigateur. Ouvrez un navigateur quelconque et tapez localhost:8080 dans la barre d’adresses. Une alerte de sécurité vous demande d’entrer votre nom d’utilisateur et votre mot de passe. Laissez la case Nom d’utilisateur vide, entrez le mot de passe défini dans l’étape précédente et cliquez sur OK :

Le navigateur Web devrait alors afficher la page suivante :

Vous pouvez créer une liste de lecture comme vous le faites habituellement sous VLC, avec la commande Ouvrir plusieurs fichiers dans le menu Média. Ces fichiers seront accessibles sur le contrôle à distance. Il suffira de cliquer sur l’un d’entre eux sous Liste de lecture pour déclencher sa lecture :

Calc est en mesure d’exécuter automatiquement une macro lorsqu’un évènement survient. La liste des évènements pris en compte se trouve dans la boîte de dialogue Personnaliser, sous l’onglet Evénements.

Lancez la commande Personnaliser dans le menu Outils. La boîte de dialogue Personnaliser s’affiche. Basculez sur l’onglet Evénements :

Pour associer une macro à un événement, sélectionnez cet événement dans la liste, cliquez sur le bouton Macro et désignez la macro à exécuter dans la boîte de dialogue Sélecteur de macro.

Vous voulez ajouter une ombre portée sous une photo ? Rien de plus simple avec PhotoFiltre !

Ouvrez la photo avec la commande Ouvrir dans le menu Fichier ou le raccourci clavier Contrôle + O, puis lancez la commande Ombre extérieure dans le menu Image. La boîte de dialogue Ombre extérieure s’affiche :

Choisissez la couleur, l’opacité, l’épaisseur et l’emplacement de l’ombre portée puis cliquez sur OK pour l’appliquer à la photo :

Vous savez maintenant sélectionner toutes sortes de plages de cellules. Voyons comment lire le contenu des cellules sélectionnées.

Nous allons travailler avec ces données :

Le but du jeu va être de récupérer les valeurs et les formules contenues dans ce tableau, sachant que la colonne D contient des formules du type =B2*C2 (pour la cellule D3).

Pour cela, vous chargerez tour à tour les propriétés values, text, formulas et formulasR1C1 :

  • values : Valeurs brutes des cellules.
  • text : valeurs textuelles des cellules.
  • formulas : formules en notation A1 (lettre pour la colonne, chiffre pour la ligne).
  • formulasR1C1 : formules en notation R1C1 (index relatifs de la ligne et de la colonne).

Voici le code utilisé :

async function run() {

  await Excel.run(async function(context) {

    const ws = context.workbook.worksheets.getActiveWorksheet(); // feuille active

    let plage = ws.getRange('A1:D6');

    plage.load('values');

    await context.sync();

    console.log(plage.values); //Toutes les données de la plage sous la forme array de array

    console.log(plage.values[1]); // La deuxième ligne (basé 0) sous la forme d'un array

    console.log(plage.values[1][0]); // La première cellule de la deuxième ligne (basé 0)

  });

}

Et voici le résultat dans la console :

[

    ["Référence", "HT", "Quantité", "TTC"],

    ["A34", 120.5, 12, 1446],

    ["B18", 45.6, 45, 2052],

    ["A66", 12.25, 120, 1470],

    ["C42", 146.65, 26, 3812.9],

    ["G29", 10, 84, 840]

]




["A34", 120.5, 12, 1446]




A34

Comme vous le voyez :

  • values retourne toutes les données de la plage sous la forme d’un tableau de tableaux.
  • values[1] retourne la deuxième ligne du tableau.
  • values[1][0] retourne la première cellule de la deuxième ligne du tableau.

Remplacez values par text dans la méthode load() et dans les console.log() et vous obtiendrez ce résultat :

[

    ["Référence", "HT", "Quantité", "TTC"],

    ["A34", "120,50", "12", "1446,00"],

    ["B18", "45,60", "45", "2052,00"],

    ["A66", "12,25", "120", "1470,00"],

    ["C42", "146,65", "26", "3812,90"],

    ["G29", "10,00", "84", "840,00"]

]




["A34", "120,50", "12", "1446,00"]




A34

Remplacez text par formulas dans la méthode load() et dans les console.log() et vous obtiendrez ce résultat :

[

    ["Référence", "HT", "Quantité", "TTC"],

    ["A34", 120.5, 12, "=B2*C2"],

    ["B18", 45.6, 45, "=B3*C3"],

    ["A66", 12.25, 120, "=B4*C4"],

    ["C42", 146.65, 26, "=B5*C5"],

    ["G29", 10, 84, "=B6*C6"]

]




["A34", 120.5, 12, "=B2*C2"]




A34

Enfin, remplacez formulas par formulasR1C1 dans la méthode load() et dans les console.log() et vous obtiendrez ce résultat :

[

    ["Référence", "HT", "Quantité", "TTC"],

    ["A34", 120.5, 12, "=RC[-2]*RC[-1]"],

    ["B18", 45.6, 45, "=RC[-2]*RC[-1]"],

    ["A66", 12.25, 120, "=RC[-2]*RC[-1]"],

    ["C42", 146.65, 26, "=RC[-2]*RC[-1]"],

    ["G29", 10, 84, "=RC[-2]*RC[-1]"]

]




["A34", 120.5, 12, "=RC[-2]*RC[-1]"]




A34

Remarque

Petite précision sur la notation RC[-1] : cela signifie la cellule située sur la même ligne (R) et sur la colonne précédente (C[-1]).

Le tableau ci-après vous permettra de comparer plus facilement les données contenues dans les propriétés values, text, formulas et formulasR1C1 :

values text formulas formulasR1C1
« Référence » « Référence » « Référence » « Référence »
« HT » « HT » « HT » « HT »
« Quantité » « Quantité » « Quantité » « Quantité »
« TTC » « TTC » « TTC » « TTC »
34 « 34 » 34 34
120.5 « 120.5 » 120.5 120.5
12 « 12 » 12 12
1446 « 1446 » = »B2*C2″ « =RC[-2]*RC[-1] »
« B18 » « B18 » B18 B18
45.6 « 45.6 » 45.6 45.6
45 « 45 » 45 45
2052 « 2052 » = »B3*C3″ « =RC[-2]*RC[-1] »
« A66 » « A66 » A66 A66
12.25 « 12.25 » 12.25 12.25
120 « 120 » 120 120
1470 « 1470 » = »B4*C4″ « =RC[-2]*RC[-1] »
« C42 » « C42 » C42 C42
146.65 « 146.65 » 146.65 146.65
26 « 26 » 26 26
3812.9 « 3812.9 » = »B5*C5″ « =RC[-2]*RC[-1] »
« G29 » « G29 » G29 G29
10 « 10 » 10 10
84 « 84 » 84 84
840 « 840 » = »B6*C6″ « =RC[-2]*RC[-1] »

Cet article va vous montrer comment tester la validité d’une adresse e-mail saisie par l’utilisateur dans une zone de texte. La couleur d’arrière-plan de la zone de texte sera verte si l’adresse est correcte, rouge sinon.

Pour faciliter la comparaison entre la saisie et le modèle attendu, nous allons utiliser une expression régulière. Pour cela, nous allons piocher dans les caractères de remplacement du tableau suivant :

Expression Signification Exemple
^ Début de la chaîne ^a sera vrai si la chaîne commence par un a
$ Fin de la chaîne t$ sera vrai si la chaîne se termine par un t
. N’importe quel caractère a, b, z, T, 1, @, etc
? Répète 0 ou 1 fois le caractère précédent xy? Signifie x ou xy
* Répète 0, 1 ou plusieurs fois le caractère précédent xy* signifie x, xy, xyy, xyyy, etc.
+ Répète 1 ou plusieurs fois le caractère précédent xy+ signifie xy, xyy, xyyy, etc.
\ Le caractère d’échappement \ autorise l’utilisation de caractères réservés \. Est équivalent au point décimal
[xyz] Un caractère unique de l’expression [xyz] signifie x, y ou z
[^xyz] Un caractère unique à l’exclusion des caractères de l’expression [^xyz] signifie un caractère quelconque sauf x, y et z
[a-z] Un caractère unique compris entre les deux bornes [a-zA-Z] signifie une lettre minuscule ou majuscule quelconque
exp1|exp2 exp1 ou exp2 PHP4|PHP5 signifie PHP4 ou PHP5
{min, max} Répétition du caractère précédent entre min et max fois x{2,3} signifie xx ou xxx

x{1,} signifie x, xx, xxx, xxxx, etc.

x{,3} signifie chaîne vide, x, xx ou xxx

Pour savoir si une adresse e-mail est valide, vous pouvez utiliser l’expression régulière suivante :

^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$

Examinons cette séquence :

  • L’adresse e-mail commence (^) par un nombre quelconque de lettres minuscules, de chiffres, de points décimaux et de caractères de soulignement : ^[a-z0-9._-]+
  • Elle est suivie du caractère @
  • D’une séquence de deux ou plus de deux lettres minuscules, chiffres, points décimaux ou caractères de soulignement : [a-z0-9._-]{2,}
  • D’un point décimal : \.
  • Et enfin d’une séquence de 2 à 4 lettres qui termine ($) l’adresse e-mail: [a-z]{2,4}

Cette courte introduction aux expressions régulières étant terminée, nous allons maintenant nous intéresser à son utilisation en VBA.

Dans un premier temps, vous devez valider l’utilisation de la bibliothèque Microsoft VBScript Regular Expression 5.5. Rendez-vous dans la fenêtre Microsoft Visual Basic pour Applications. Lancez la commande Références dans le menu Outils. La boîte de dialogue Références s’affiche. Déplacez-vous dans la zone de liste pour atteindre l’entrée Microsoft VBScript Regular Expression 5.5 et cochez la case qui la précède :

Validez en cliquant sur OK. Ça y est, vous pouvez utiliser des expressions régulières dans le code VBA du classeur.

Insérez une zone de texte dans la feuille. Pour cela, basculez sur l’onglet Développeur du classeur, cliquez sur l’icône Insérer du groupe Contrôles et cliquez sur Zone de texte, sous Contrôles ActiveX :

Assurez-vous que l’icône Mode Création est enfoncée (onglet Développeur, groupe Contrôles), puis double-cliquez sur la zone de texte. La procédure TextBox1_Change() est créée. Complétez-la comme ceci :

Private Sub TextBox1_Change()

    Dim reg As New VBScript_RegExp_55.RegExp

    reg.Pattern = "^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$"

    If reg.Test(TextBox1.Text) = True Then

      TextBox1.BackColor = RGB(0, 255, 0)

    Else

      TextBox1.BackColor = RGB(255, 0, 0)

    End If

End Sub

Examinons ce code.

La première ligne définit l’objet regexp reg :

Dim reg As New VBScript_RegExp_55.RegExp

La deuxième instruction définit l’expression régulière et l’affecte à la propriété Pattern de l’objet reg :

reg.Pattern = "^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$"

Le bloc If suivant applique la méthode Test() de l’objet reg à la zone de texte. Si la valeur retournée est True, la zone de texte correspond au modèle de l’expression régulière. Dans ce cas, l’arrière-plan de la zone de texte est coloré en vert :

If reg.Test(TextBox1.Text) = True Then

  TextBox1.BackColor = RGB(0, 255, 0)

Si la valeur retournée est False, la zone de texte ne correspond pas au modèle de l’expression régulière. Dans ce cas, l’arrière-plan de la zone de texte est coloré en rouge :

Else

  TextBox1.BackColor = RGB(255, 0, 0)

End If

Sans vous demander votre avis, plusieurs applications issues du Microsoft Store sont installées par défaut dans Windows 10, de la publicité s’affiche dans le menu Démarrer, l’explorateur de fichiers, l’écran de verrouillage, les paramètres de l’ordinateur, etc.. Cet article va vous montrer comment supprimer d’une façon globale et en quelques clics souris tous ces « indésirables ».

Rendez-vous sur la page https://winaero.com/download.php?view.1796, puis cliquez sur le lien Download Winaero Tweaker :

Cette action télécharge le fichier winaerotweaker.zip dans le dossier Téléchargements. Cliquez du bouton droit sur ce fichier et sélectionnez Extraire tout dans le menu contextuel. Le fichier zip est décompressé dans le dossier winaeroweaker. Le contenu de ce dossier s’affiche dans une fenêtre annexe de l’explorateur de fichiers :

Double-cliquez sur l’icône WinaeroTweaker-0.17.1.0-setup.exe. SmartScreen se manifeste en affichant cette boîte de dialogue :

Cliquez sur Informations complémentaires, puis sur Exécuter quand même. Le contrôle du compte d’utilisateur se manifeste. Validez l’exécution de l’assistant d’installation en cliquant sur Oui. Exécutez l’assistant en acceptant toutes les options proposées par défaut. Quelques instants plus tard, la fenêtre de Winaero Tweaker s’affiche. Elle donne des informations sur l’ordinateur : système d’exploitation, processeur, mémoire, affichage et score WEI (Windows Experience Index) :

Basculez sur l’onglet Ads and Unwanted Apps, sous Behavior (1). Cochez la case Disable Ads in Windows 10 (2). Toutes les cases suivantes se cochent automatiquement. Si nécessaire, décochez certaines d’entre elles, puis cliquez sur Restart Now (3) pour redémarrer l’ordinateur :

L’application Winaero Tweaker rassemble de très nombreux autres réglages. Si l’anglais n’est pas une barrière, je vous suggère de les examiner. Vous y trouverez certainement des pépites qui vous seront très utiles.

Vous désirez planifier efficacement votre activité professionnelle ? Utilisez le système de tâches d’Outlook. Vous pourrez ainsi fixer des dates limites d’exécution et assurer le suivi de vos activités.

Les tâches peuvent être :

  • Uniques. Par exemple un paiement par carte de crédit.
  • Régulières. Par exemple le règlement mensuel d’un prêt hypothécaire.
  • Ou encore se terminer à une certaine date. Par exemple, un projet qui doit impérativement se terminer à une date précise.

Tâche unique

Pour créer une tâche unique, cliquez sur l’icône Tâches dans la barre de navigation. Basculez sur l’onglet Accueil du ruban, puis cliquez sur l’icône Nouvelle tâche, dans le groupe Nouveau. Cette action affiche la fenêtre Tâche.

Dans la zone Objet, tapez le nom de la tâche. Sélectionnez les options dont vous avez besoin et cliquez sur l’icône Enregistrer & fermer dans le groupe Actions. :

Tâche répétitive

Pour créer une tâche qui se répète à intervalles réguliers, cliquez sur l’icône Tâches dans la barre de navigation. Basculez sur l’onglet Accueil du ruban, puis cliquez sur l’icône Nouvelle tâche, dans le groupe Nouveau. Cette action affiche la fenêtre Tâche. Dans la zone Objet, tapez le nom de la tâche. Sélectionnez les options dont vous avez besoin. Cliquez sur l’icône Périodicité dans le groupe de même nom et définissez la périodicité de la tâche. Ici par exemple, la tâche doit être répétée toutes les semaines, le Vendredi. Aucune date de fin n’est prévue. Cliquez sur OK puis sur l’icône Enregistrer & fermer pour enregistrer la nouvelle tâche :

Tâche répétitive avec régénération conditionnelle

Enfin, pour créer une tâche périodique qui tient compte de la date d’achèvement de la tâche précédente, vous devez créer une « régénération de tâche ». Cliquez sur l’icône Tâches dans la barre de navigation, puis sur l’icône Nouvelle tâche, sous l’onglet Accueil, dans le groupe Nouveau du ruban. Dans la zone Objet, tapez le nom de la tâche. Sélectionnez les options dont vous avez besoin. Cliquez sur l’icône Périodicité dans le groupe de même nom. Sélectionnez l’option Régénérer une nouvelle tâche, puis choisissez un délai pour recréer la tâche. Lorsque la tâche périodique précédente sera terminée, ce délai devra s’écouler avant qu’une nouvelle tâche ne soit créée. Ici par exemple, le délai avant la création automatique d’une nouvelle tâche est fixé à 2 semaines. Cliquez sur OK puis sur Enregistrer et fermer.