Verrouiller le contenu d'une cellule

Bonjour,

Dans mon facturier excel j'ai la formule suivante pour le numéro de facture

=TEXTE(AUJOURDHUI();"aaaammjj")&"-0" & LIGNE()-54

Cela me donne quelque chose comme 20200525-014. Cependant, comme vous pouvez vous en douter les numéros des factures précédentes changent dès qu'une journée passe. Ce qui rend compliquer le suivi. pour le moment j'efface la formule d'une cellule une fois qu'une facture est arrêtée, et je remplace le contenu de la cellule par le numéro de facture.

Mais je me demandais s'il existe un moyen de conserver la formule et de la bloquer à une date précise ? Pour qu'elle ne bouge plus une fois qu'une facture est émise.

Merci d'avance !

Configuration: Windows / Chrome 81.0.4044.138

4 réponses

  1. Bonjour
    Il y a plusieurs façon de procéder, on peut même (avec un peut de boulot) faire une macro pour automatiser. Et puis cela dépend de la version d'excel...
    1) Faire un "copier"/"collage" - "spécial/option" - "valeur/1213" pour ne garder que 20200525-014
    2) Faire une macro du genre : (fait a la vas vite, désolé !)

    Sub Figer()
    '
    ' Figer la valeur de la formule "=TEXTE(AUJOURDHUI();"aaaammjj")&"-0" & LIGNE()-54"
    '
    ActiveCell.FormulaR1C1 = "=TEXT(TODAY(),""aaaammjj"")&""-0"" &ROW()-54"
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
    End Sub


    Puis insérer un bouton personnalisé dans la barre de menu pour l'utiliser dans la cellule sélectionnée.

    Ce sont des pistes, mais perso je ferai une macro avec incrémentation automatique du n° de facture lors de chaque création, c'est une autre histoire !
    1
    1. Bonjour Adeline

      Il faut une macro pour figer la date
      Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Target.Value = Format(Date, "yyyymmdd") & "-0" & Target.Row - 54
      End Sub


      ALT+F11 pour ouvrir l'éditeur VBA
      Double-clic sur le nom de la feuille concernée dans l'arborescence
      Copier coller la macro dans la page et fermer l'éditeur

      Ensuite double-clic dans lac cellule ou inscrire le n°

      Cdlmnt
      Via
      1
      1. Ça fonctionne parfaitement merci ! Ça fait deux fois que Simba me vient en aide !
        0
    2. Bonjour

      Pour figer la date du jour, je pense qu'une macro est indispensable
      Un exemple
      https://www.cjoint.com/c/JEzjBYagOJB

      Cdlmnt
      1
      1. Merci à toutes et à tous.

        L'option collage spéciale fera l'affaire pour le moment.

        Je me doutais bien qu'il fallait faire un peu de VBA... je crois que c'est le moment de s'y mettre !

        Je vais tester vos solutions dans l'après-midi.

        Merci encore !
        0