Incrémenter... [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
lundi 22 octobre 2018
Statut
Membre
Dernière intervention
23 octobre 2018
-
Messages postés
3
Date d'inscription
lundi 22 octobre 2018
Statut
Membre
Dernière intervention
23 octobre 2018
-
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

Messages postés
7331
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 avril 2021
622
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
lundi 22 octobre 2018
Statut
Membre
Dernière intervention
23 octobre 2018

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 !!!
Messages postés
7331
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
10 avril 2021
622
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
lundi 22 octobre 2018
Statut
Membre
Dernière intervention
23 octobre 2018

Super je vous remercie Le Pivert :)))))