Bouton/macro pour additionner une cellule
Résolu/Fermé
Akhös
-
6 juin 2014 à 17:21
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 7 juin 2014 à 10:44
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 7 juin 2014 à 10:44
A voir également:
- Bouton/macro pour additionner une cellule
- Formule excel pour additionner plusieurs cellules - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Macro word - Guide
5 réponses
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
6 juin 2014 à 17:31
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
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
6 juin 2014 à 20:59
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 :
eric
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
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
7 juin 2014 à 10:44
7 juin 2014 à 10:44
Bonjour,
ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
eric
ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
eric
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 =)
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 =)
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
Modifié par via55 le 6/06/2014 à 18:13
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
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
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 !
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 !
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
6 juin 2014 à 18:26
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
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
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é !
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é !
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 ?
quelle propriété changer pour que ça ne soit pas la cellule directement à droite, mais celle encore à droite ? Donc C1 et I8 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question