Incrémenter...

Résolu/Fermé
asiggen Messages postés 3 Date d'inscription lundi 22 octobre 2018 Statut Membre Dernière intervention 23 octobre 2018 - 22 oct. 2018 à 16:41
asiggen Messages postés 3 Date d'inscription lundi 22 octobre 2018 Statut Membre Dernière intervention 23 octobre 2018 - 23 oct. 2018 à 11:12
Bonjour,

Je souhaite réaliser une macro simple sur excel 2016 mais je n'y arrive pas. quelqu'un peut il m'aider ?

je voudrais saisir une case (exemple A1) puis en appuyant sur Enter, la valeur de A1 s'additionne à la valeur d'une autre case (B1 par exemple) puis A1 s'efface. et autant de fois que je saisie A1 et valide, B1 est incrémenter/décrémenter .

(c'est pour rentrer des heures de travail p. ex. 8h+8h+5h+8h etc, et éviter de calculer à la main puis faire une somme)

Merci d'avance et bonne journée :)))

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 22 oct. 2018 à 18:08
Bonjour,

Se mettre sur la feuille concernée faire Alt F11 et coller ce code:

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Range("B1").Value = Range("B1").Value + Range("A1").Value
Range("A1").Value = ""
End If
End Sub



s'incrémente à chaque clic dans A1

1
asiggen Messages postés 3 Date d'inscription lundi 22 octobre 2018 Statut Membre Dernière intervention 23 octobre 2018
23 oct. 2018 à 10:06
Bonjour Le Pivert,
Merci pour votre réponse, ça fonctionne parfaitement.
Est-il possible de valider la plage juste en cliquant Enter (sans revenir sur la cellule)? Et si je veux que ça s'applique à toute une colonne est-ce possible?
A1 > B1
A2> B2
A3> B3
etc....
Merci !!!
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
23 oct. 2018 à 10:51
comme ceci pour toute la colonne:

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim valeur As Integer
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
 valeur = Target.Row
 Cells(valeur, 2).Value = Cells(valeur, 2).Value + Cells(valeur, 1).Value
Cells(valeur, 1).Value = ""
End If
End Sub



pour valider avec Enter, il faut voir du côté des sendkey
1
asiggen Messages postés 3 Date d'inscription lundi 22 octobre 2018 Statut Membre Dernière intervention 23 octobre 2018
23 oct. 2018 à 11:12
Super je vous remercie Le Pivert :)))))
0