Insérer une formule de cacul dans excel

Résolu
Mann75 Messages postés 62 Statut Membre -  
Mann75 Messages postés 62 Statut Membre -
Bonjour,

Je souhaite intégrer une formule de calcul, une addition, dans une cellule d'un tableau excel (2003 / 2010) de manière à ce qu'à chaque fois que je tape un chiffre ou signe quelconque dans la cellule je puisse passer au chiffre suivant.

Ex : En c12 j'ai "3". Je tape "1" ou autre dans cette cellule et j'obtiens "4".

Pouvez-vous m'aider ?

Par avance merci

7 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    essaies cette macro

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$12" Then
        Application.EnableEvents = False
        nouveau = Target
        Application.Undo
        Target = Target + nouveau
        Application.EnableEvents = True
    End If


    au cas où:
    comment installer ?
    copier cette macro
    clic droit sur le nom de l'onglet de la feuille concernée (en bas de l'écran)
    visualiser le code
    coller
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Bonjour tous
      Michel, excellent, mais si je peux me permettre:
      rajouter End Sub à la fin, non?
      crdlmnt
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      exact, merci Vaucluse ;-)
      0
  2. Mann75 Messages postés 62 Statut Membre 6
     
    Merci pour vos réponses, mais j'ai un problème. J'ai crée la macro, je copie le code et j'enregistre. Et quand je veux exécuter la macro j'ai un message d'erreur : "Erreur de compilation : End Sub attendu" pourtant j'ai collé la macro :

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$12" Then
    Application.EnableEvents = False
    nouveau = Target
    Application.Undo
    Target = Target + nouveau
    Application.EnableEvents = True
    End If

    Entre Sub stat1 () et End Sub.

    Le Sub Stat1 () est surligné en jaune.

    Que dois-je faire ?
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Il faut rajouter
      End Sub
      sur une nouvelle ligne après End if
      crdlmnt
      0
  3. Mann75 Messages postés 62 Statut Membre 6
     
    J'ai bien fait ça mais j'ai le message d'erreur.

    Sub stat1()
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$12" Then
    Application.EnableEvents = False
    nouveau = Target
    Application.Undo
    Target = Target + nouveau
    Application.EnableEvents = True
    End If
    End Sub

    Le Sub Stat1() est toujours surligné en jaune.

    Il faut peut être mettre la commande dans les parenthèses qui sont après le stat1 ?
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Supprimer le Sub stat () en entête et garder le End Sub à la fin, le Sub d'entête et déjà derrière le Private dans la première ligne.
      Crdlmnt
      0
    2. Mann75 Messages postés 62 Statut Membre 6
       
      Le problème c'est que si je supprime le Sub stat() et que j'enregistre j'ai le message suivant qui apparaît :

      "Cette action va réinitialiser le projet" et dans la barre en haut le "stat" s'efface et laisse place à "(Déclarations)".

      Et lorsque je veux appliquer la macro à la cellule, excel ne me propose rien.
      0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour Vaucluse, Matt

    Vous devriez relire le message de michel
    --


    Hé oui, Matt!
    C'est pas possible, un.... (au choix) pareil
    Michel
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mann75 Messages postés 62 Statut Membre 6
     
    Je vous remercie pour votre patience, j'ai réussi à intégrer la macro. mais je souhaiterai l'appliquer à d'autres cellules. Que dois-je changer dans la macro pour que cela marche ?

    Merci encore
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Pourquoi ne pas l'avoir dit AVANT ?

      quelles sont ces cellules, sur quelle feuille?...

      dis toi bien que nous n'avons que ce que tu écris pour essayer de t'aider.....
      0
    2. Mann75 Messages postés 62 Statut Membre 6
       
      Les cellules concernées par cette macro sont entre B2 et N2 en largeur et B52 et N52 en longeur. Sur la feuille 1
      0
  7. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2:N52")) Is Nothing Then
        Application.EnableEvents = False
        nouveau = Target
        Application.Undo
        Target = Target + nouveau
        Application.EnableEvents = True
    End If
    
    End Sub
    
    0
  8. Mann75 Messages postés 62 Statut Membre 6
     
    Merci pour toutes vos réponses. J'ai réussi à intégrer le code, c'est parfait.
    0