Incrementer une cellule

Bonjour,

Je voudrais incrementer une cellule depuis une  autre cellule.

Quand je tape "Ok" dans la cellule B2, je voudrais que la cellule M2 affiche "1"

J'efface les cellules B2, M2 reste à 1.

Je retape  "Ok" dans B2 et je voudrais que M2 affiche "2"

Et ainsi de suite.

Merci de votre aide


Windows / Chrome 107.0.0.0

3 réponses

  1. Modérateur

    Bonjour,

    On peut utiliser une option particulière d'Excel. Supprimer le contrôle d'erreur circulaire (utiliser le champ qui contient la formule dans la formule elle même), contrôle utile pour la majorité des utilisateurs ;-)

    Fichier/option/Formule, Activer le calcul itératif, nb max itération 1

    Et alors mettre une formule  =SI(B2="Ok";M2+1;M2)
    Soucis cela fonctionne bien sur la feuille ouverte, mais l'enregistrement et l'ouverture de la feuille active la formule, avec chaque fois +1 quand B2="Ok"

    On peut alors utiliser une formule alambiquée, en utilisant une partie décimale sur l'accumulateur
    =SI(B2="Ok";SI(M2=ENT(M2));M2+1,1;M2);ENT(M2))
    et sur M2 mettre un affichage de cellule sans décimale.

    Il y a peut être plus simple, avec une macro, en utilisant un champ intermédiaire, ...


    0
    1. Bonjour,

      Merci pour votre implication.

      J'ai recopier la deuxiéme formule et j'ai ce message d'erreur.

      Si c'est plus simple une macro, je veux bien.

      0
      1. Bonjour,

        suivant ce que j'ai compris, en VBA

        clic droit sur l'onglet de la feuille concerné, colle ce code

        Private Sub Worksheet_Change(ByVal Target As Range)
        On Error Resume Next
        If Not Intersect(Target, [B2]) Is Nothing Then
        If [B2] = "Ok" Then [M2] = [M2] + 1
        End If
        End Sub

        0