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. 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
    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. 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