Bouton/macro pour additionner une cellule

Résolu
Akhös -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je recherche une manip pour créer une macro avec un bouton, qui permette d'additionner une cellule avec une autre, si possible sans toucher à l'itération et sans passer par VBA.

En gros, imaginons A1=1 et A2=1.

J'aimerais que quand je clique sur le bouton, la cellule A1 devienne 2 et A2 devienne 0.

Est-ce possible avec l'enregistrement d'une macro simple ?

Merci beaucoup =)

Windows7
Excel 2007

5 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Enregistrer une macro c'est déjà passer par du VBA !
    Et associer le code au bouton aussi

    Mais pour ce que tu veux faire pas possible en enregistrant une macro

    Il faut créer le bouton (Onglet Developpeur Inserer Controle Active X et l'icone bouton)

    Double clic sur le bouton, l'éditeur VBA s'ouvre

    Entre les lignes :
    Private Sub CommandButton1_Click()

    End Sub

    mettre le code suivant :
    Range("A1")=range("A1")+range("A2") : range("A2")=0

    Cdlmnt
    3
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour à tous,

    Autre proposition.
    Sélectionne toutes tes cellules recevant une addition et nomme la plage pl_add.
    Et met ce code sur ton bouton :
    Sub add()
        Dim c As Range
        For Each c In [pl_add]
            c = c + c.Offset(, 1)
            c.Offset(, 1) = ""
        Next c
    End Sub


    eric
    1
    1. Akhös
       
      Il ne se passe rien, mais il est possible que je n'ai pas bien fait la manip'...
      Je continue à fouiner 8)
      0
    2. Akhös
       
      En fait si, ça marche, et ça déchire. Faut que je bosse ça pour que ça gère sur toute ma page et voir si j'y arrive sans me planter, mais ça m'a l'air parfait.
      Merci encore à vous deux !
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
      eric
      0
  3. Akhös
     
    D'acc, il fallait que je tente le coup quand même ^^

    Je passerai donc par VBA.

    Je vais avoir beaucoup de cellules à additionner de cette façon, je vais devoir créer autant de lignes de code sur VBA ? Ou bien une formule magique me permettra de les regrouper (pour appliquer le même effet à plusieurs cellules, puis effacer le contenu de plusieurs cellules) ?

    Merci beaucoup en tout cas, via55 =)
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Si tu veux appliquer pour plusieurs cellules ce n'est pas par un bouton qu'il faut passer mais par un double-clic sur la cellule dans laquelle doit s'additionner celle du dessous.

      Alt F11 pour ouvrir l'éditeur VBA
      puis tu copies cette macro et tu la colles dans la page blanche de l'éditeur
      elle s'appliquera à toute cellule de la plage dans laquelle tu double-cliqueras

      Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      li = Target.Row
      col = Target.Column
      Target.Value = Target.Value + Cells(li + 1, col): Cells(li + 1, col) = 0
      End Sub
      0
    2. Akhös
       
      Okay, je vais étudier ces deux possibilités en potassant VBA.

      L'idée, c'était de gagner du temps en remplissant plusieurs endroits de ma page, voir plusieurs pages différentes en cliquant sur un seul bouton. Double cliquer sur toutes les cellules à modifier, c'est moins glop.

      Mais merci encore via55, je vais fouiner dans cette direction !
      0
    3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Oui mais comment avec un seul bouton qu'Excel puisse savoir quelles cellules traiter ?
      Ou alors si ta feuille est constituée de telle manière qu'une cellule sur 2 est à traiter ( A1 +A2, puis A3 + A4, 15+A6 etc) on peut envisager une macro qui boucle sur toute la colonne et additionne une cellule sur deux et qui là serait commandée par un bouton

      Si c'est le cas je t'indiquerai la macro pour le faire.

      Cdlmnt
      0
    4. Akhös
       
      Alors là, tu me poses une colle.
      Je pensais qu'une macro affectait les cellules qu'on lui disait d'affecter. Quand j'enregistre une macro, je clique sur A1, puis sur G8 etc... Et par la suite, en cliquant sur le bouton lié à cette macro, ça modifiera les cellules A1, G8 etc. Enfin, je pensais faire un truc dans ce genre.
      Les cellules ne changeront pas.

      En fait il y aura par exemple 50 cellules réparties sur toute la page, qui devront se voir additionner la cellule à leur droite, qui elle devra être vidée.
      L'idée c'est de verrouiller tout le document pour qu'une personne à qui j'envoie le fichier excel ne puisse avoir accès qu'aux cellules qui serviront de base à l'addition (et donc à droite des cellules cibles, dans mon exemple B1 et H8). Ensuite, un bouton devra me permettre d'ordonner à toutes les cellules cibles (A1, G8...) d'être augmenté de la valeur situé dans la cellule à leur droite (B1, H8...) et de vider ces dernières.

      Concrètement, voilà ce à quoi je tend :)

      Je ne pense pas être clair, mais si ce n'est pas le cas c'est pas grave, tu m'as déjà bien orienté !
      0
  4. Akhös
     
    Oops, question à la c*n :

    quelle propriété changer pour que ça ne soit pas la cellule directement à droite, mais celle encore à droite ? Donc C1 et I8 ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Akhös
     
    Ok, trouvé, je ne vous embête plus, vous êtes géniaux :)
    0