Bouton/macro pour additionner une cellule

Résolu/Fermé
Akhös - 6 juin 2014 à 17:21
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 7 juin 2014 à 10:44
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
A voir également:

5 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
6 juin 2014 à 17:31
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
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
6 juin 2014 à 20:59
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
Il ne se passe rien, mais il est possible que je n'ai pas bien fait la manip'...
Je continue à fouiner 8)
0
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
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
7 juin 2014 à 10:44
Bonjour,

ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
eric
0
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
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
Modifié par via55 le 6/06/2014 à 18:13
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
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
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
6 juin 2014 à 18:26
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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