Astuce de LET

Un truc tout simple, mais très utile.

Je pense que j'en avais parlé l'année dernière, mais ça peut valoir le coup de le rappeler.

Quand vous utilisez une fonction LET, vous pouvez faire référence à des cellules contenant des cases à cocher pour passer d'un mode à un autre. Par exemple, passer d'un mode détail/dev/test, avec le détail des calculs, à un mode pro, avec uniquement le résultat.

Ça donnerait ceci :

B1 contient une valeur VRAIE ou FAUSSE (case à cocher) qui permet donc soit d'afficher le résultat 16, soit le détail du calcul : _x : 1 ; y : 5 ; z : 10

=LET(
  _x;B3;
  _y;B4;
  _z;B5;
  _res;_x+_y+_z;
     SI(B1;
        "_x : " & _x & " ; y : " & _y & " ; z : " & _z;
        _res))

Et si vous voulez aller plus loin avec LET, rejoignez moi pour ma prochaine formation :

2 clics pour un focus très léger

Au sommet des MVP Excel, voici ce que l’un des développeurs a paramétré.
Repère (ou Focus) est l’une de mes astuces favorites, mais jusqu’à présent, je ne l’utilisais que rarement, car la teinte utilisée par défaut était trop distrayante.
En fait, je n’avais jamais pensé à essayer de simplement changer la teinte pour la plus claire possible.

Processus :

  • Afficher le focus : Onglet Affichage, Cliquer sur Focus sur la cellule
  • Et surtout, changer la couleur pour la teinte la plus faible possible.

C'est tellement évident que je ne comprends pas pourquoi je n'y avais pas pensé avant !

A bientôt.

Sauvegarder automatiquement une copie de votre fichier à l'enregistrement

L'objectif est de créer automatiquement une copie de sauvegarde à chaque enregistrement du fichier.

Voici un code facile à implanter :

=> ALT+F11 pour accéder au VBA,

=> puis double clic sur ThisWorkbook et

=> finalement on colle le code.

A la sauvegarde, un dossier "version" est créé et une copie du fichier est automatiquement faite.

Le code :

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    If Not Success Then Exit Sub
    If Len(ThisWorkbook.Path) = 0 Then Exit Sub

    Dim sFolder As String, sBase As String, sExt As String, sCopy As String
    sFolder = ThisWorkbook.Path & "\Version"
    If Dir(sFolder, vbDirectory) = vbNullString Then MkDir sFolder

    sBase = Left$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
    sExt = Mid$(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, "."))
    sCopy = sFolder & "\" & sBase & "_" & Format$(Now, "yyyymmdd_hhnnss") & sExt

    ThisWorkbook.SaveCopyAs sCopy
End Sub

A bientôt