Formule hyper complexe a trouver!! aidez-moi!

dcfan_f1 -  
 dcfan_f1 -
Bonjour à tous,
J'aurais besoin de votre aide pour trouver une façon de faire dans excel.


Je comptabilise des données et j'aimerais optimiser ma feuille de calcul. Si, par exemple, je compte un nombre de billets dans la case A1, que le chiffre de cette case est 35 et que j'aimerais y ajouter deux billets, au lieu d'effacer la case et d'y inscrire 37 ( le nouveau total ), j'aimerais pouvoir inscrire "2" dans la case A2 et que le chiffre dans A1 change pour le nouveau total. Du même coup, que la case A2 redevienne vide pour que je puisse y inscrire un nouveau nombre à ajouter, est-ce possible?


Car en ce moment, pour certaine case, je suis rendu à 2357 et + et que de changer le chiffre manuellement peu amener plus facilement des erreurs. De plus, une erreur d'addition, même si elle peut sembler très facile, peut arriver.


De plus, y aurait-t-il une formuel pour mettre en surbrillance une case précise, si une autre se situe entre deux valeurs?
Par exemple, si A3 se situe entre 100 et 119, j'aimerais que A5 soit ensurbrillance. Si A3 se situe entre 120 et 139, c'est A6 qui devrait être en surbrillance au lieu de A5, et ainsi de suite.
Merci pour votre aide!!!



A voir également:

2 réponses

Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 139
 
Salut,

C'est possible mais en VBA si tu as quelques notions

clic droit sur l'onglet de feuille concernée/Visualiser le code
et colle ce code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A2")) Is Nothing Then
Range("A1") = Range("A1") + Range("A2")
Range("A2").Clear
End If
End Sub

on peut l'écrire plus technique

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [A2]) Is Nothing Then
[A1] = [A1] + [A2]
[A2].Clear
End If
End Sub

ou

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A2")) Is Nothing Then
Cells(1, 1) = Cells(1, 1) + Cells(2, 1)
Cells(2, 1).Clear
End If
End Sub


A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
dcfan_f1
 
C'est super, ca marche, mais le seul hic, c'est que ma feuille excel plante à chaque fois! Je n'ai aucune connaissance dans virtual basic, est-ce que je fais une manip tout croche? Est-ce qu'il faut arreter la macro à chaque fois? Parce que je ne peux plus rien inscrire une fois que j'ai utilisé la macro
0
Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   954
 
Salut le forum

Modifie le code ainsi

Private Sub Worksheet_Change(ByVal Target As Range) 
If Not Application.Intersect(Target, Range("A2")) Is Nothing Then 
Application.EnableEvents = False 
Range("A1") = Range("A1") + Range("A2") 
Range("A2").Clear 
End If 
Application.EnableEvents = True 
End Sub 

Mytå
0
dcfan_f1
 
WOW SUPER! Ca l'a marché avec la modif de myta!!

Merci a tous!! vous etes génial
0