VBA Faire somme dans une procédure évènementielle

  • Initiateur de la discussion Initiateur de la discussion Arpette
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Arpette

XLDnaute Impliqué
Bonsoir à toutes et à tous, je souhaiterais faire une somme évènementielle sur mon fichier joint. A savoir, toutes saisies faites dans les colonnes S1 renvoient le total en Tot S1 et la même chose pour S2. Je l'ai fait en formule, mais ils arrivent à tout casser, et je ne veux pas de protection.
Merci de votre de votre aide.
@+
 

Pièces jointes

Re : VBA Faire somme dans une procédure évènementielle

Bonsoir Arpette,

Les utilisateurs sont des malfaisants... 🙄 Ton fichier en retour, à tester.

Cordialement

KD

Edit : modifié pour éviter les changements manuels en colonne 9 ou 10
 

Pièces jointes

Dernière édition:
Re : VBA Faire somme dans une procédure évènementielle

Bonsoir KenDev, merci nickel, ah!! je ne sais pas si sont des malfaisants, quelques fois je me dis sans eux, plus de question plus de problème...ça serait triste ? Non 🙂
@+ et merci
 
Re : VBA Faire somme dans une procédure évènementielle

Salut Arpette et le forum
Sans protection, difficile de protéger 🙂
Une formule à recopier sur la plage H2:H5 :
Code:
=SOMMEPROD(($C5:$H5)*($C$1:$H$1=DROITE(I$1;2)))
A+
 
Re : VBA Faire somme dans une procédure évènementielle

Rebonsoir à tous, je suis étonné que personne ne puisse me répondre, j'arrive à faire cette somme sauf que ma macro ne s'arrête plus,comme je l'ai incluse avec mon next (pas dans mon fichier joint, mais à force de bricoler).
Merci de votre aide
@+
 
Re : VBA Faire somme dans une procédure évènementielle

Bonjour Arpette,

En regardant ton code, il y a un pb avec la variable derligne que tu déclares comme Range mais que tu utilises comme un entier Long la plupart du temps et comme une object Range parfois. Un autre souci, c'est que ta macro est évènementielle et qu'à chaque modif de ta feuille, la macro se lance, Y COMPRIS lorsque c'est la macro elle même qui change les valeurs... du coup, tu ne sors jamais de ta macro qui s'auto lance ! Il suffit de lui dire d'interrompre le traintement des évènements pdt le temps de la macro en début et de réactiver le tout à la fin. Je t'ai remis tout ça bien et ça devrait fonctionner. (sauf tu fais les sommes à partir de la ligne 3, c'est normal ?)

Par contre, ta macro me parait compliquée pour ce qu'elle essaie de faire, aussi je te l'ai réécrite en plus concentrée :

VB:
Sub Worksheet_Change(ByVal Target As Range)
Dim derlig As Long
Application.EnableEvents = False 'désactive les évènements
derlig = Range("A65000").End(xlUp).Row ' détermine la dernière ligne
    Cells(derlig, 3).Formula = "=SUM(C2:C" & derlig - 1 & ")" 'colle la somme sur la col C
    Cells(derlig, 3).AutoFill Destination:=Range("C" & derlig & ":J" & derlig), Type:=xlFillDefault 'recopie cette formule de somme jusqu'à col J
    Range("C" & derlig & ":J" & derlig) = Range("C" & derlig & ":J" & derlig).Value 'garde que les valeurs
Application.EnableEvents = True 'réactve le déclenchement des évènements
End Sub

cf. ton fichier en retour
 

Pièces jointes

Re : VBA Faire somme dans une procédure évènementielle

Re, Softmama, bonsoir KenDev, il ne faut pas tenir compte du fichier attaché à mon post 8 (c'est n'importe quoi), mais partir de celui du post 7 avec la solution de KenDev pour le calcul en ligne qui fonctionne très bien. C'est là où je demande la même chose en colonne.
Mais avec vos deux codes je pense pouvoir alléger, mais bon...surtout n'hésitez pas 🙂
Merci à tous les deux pour votre aide .
A bientôt.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
1 K
Réponses
6
Affichages
1 K
Retour