Calcul cellules dans différentes zones

gerard55

XLDnaute Occasionnel
Bonjour à tous,
Je cherche à faire une macro qui additionne des cellules placées à différents endroits dans la feuille.
J'ai des valeurs dans 3 colonnes à ajouter Colonne D Cellules d1 + d25+ ... (de 24 cellules en 24 cellules jusqu'à d 242.
Idem en Colonne J (ji+ j25 + j 49....) Idem en Colonne I Puis je fais le total général.
Merci d'avance pour votre aide.
A+
 

youky(BJ)

XLDnaute Barbatruc
Re : Calcul cellules dans différentes zones

Bonjour Gérard,
Voiçi une petite macro. . . .
voir si "Feuil1"
Bruno
Code:
Dim tx As Long
For lig = 1 To 242 Step 24
tx = tx + Sheets("Feuil1").Cells(lig, "D")
tx = tx + Sheets("Feuil1").Cells(lig, "I")
tx = tx + Sheets("Feuil1").Cells(lig, "J")
Next
MsgBox tx
 

gerard55

XLDnaute Occasionnel
Re : Calcul cellules dans différentes zones

Merci Bruno pour ta réponse. J'ai encore une question
Je veux afficher le résultat dans une cellule. Jai mis la ligne de code ci-dessous et quand je lance la macro ça ne fonctionne pas alors qu'avec msgbox l'on obtient le résultat.

Cells(13, 247).Value = Tx
Peut-on faire en sorte que le résultat se réactualise dès que l'on fait une saisie ?
merci d'avance
a+
 

youky(BJ)

XLDnaute Barbatruc
Re : Calcul cellules dans différentes zones

re:
Cells(13, 247) correspond à [IM13]...c'est plus lisible
Pour que la macro se déclenche dés un changement click avec le bouton droit de la souris sur l'onglet
et "visualiser le code" copie ceci
Le EnableEvents est pour neutraliser l'événement afin d'écrire sans refaire le test
Bruno
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tx As Long
For lig = 1 To 242 Step 24
tx = tx + Sheets("Feuil1").Cells(lig, "D")
tx = tx + Sheets("Feuil1").Cells(lig, "I")
tx = tx + Sheets("Feuil1").Cells(lig, "J")
Next
Application.EnableEvents = False
[IM13]= tx
Application.EnableEvents = True
End Sub
 

gerard55

XLDnaute Occasionnel
Re : Calcul cellules dans différentes zones

Bruno, Je suis encore obligé de vous sollicité
J'ai écrit le code comme indiqué. Le calcul fonctionne. Le problème c'est que dès que j'ai fait une saisie, il bug, je ne peut plus saisir d'autre chiffre. La ligne Gp = Gp + Sheets("1erSemi").Cells(lig, "j") se met en jaune dans le code. Si je la neutralise, c'est la suivante qui se met en jaune. Ci-dessous, j'ai joint le code
Merci pour votre collaboration
a+

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Tx As Long
Dim Gp As Long
For lig = 1 To 241 Step 24
Tx = Tx + Sheets("1erSemi").Cells(lig, "D")
Tx = Tx + Sheets("1erSemi").Cells(lig, "I")
Tx = Tx + Sheets("1erSemi").Cells(lig, "N")
Next

Cells(247, 13).Value = Tx

For lig = 1 To 241 Step 24
Gp = Gp + Sheets("1erSemi").Cells(lig, "e")
Gp = Gp + Sheets("1erSemi").Cells(lig, "j")
Gp = Gp + Sheets("1erSemi").Cells(lig, "o")
Next

Cells(248, 13).Value = Gp

Cells(250, 13).Value = Tx + Gp

Application.EnableEvents = False
Cells(247, 13).Value = Tx
Application.EnableEvents = True

Application.EnableEvents = False
Cells(248, 13).Value = Gp
Application.EnableEvents = True

End Sub
 

youky(BJ)

XLDnaute Barbatruc
Re : Calcul cellules dans différentes zones

re:
voici
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Tx As Long
Dim Gp As Long
Application.EnableEvents = False
For lig = 1 To 241 Step 24
Tx = Tx + Sheets("1erSemi").Cells(lig, "D")
Tx = Tx + Sheets("1erSemi").Cells(lig, "I")
Tx = Tx + Sheets("1erSemi").Cells(lig, "N")
Gp = Gp + Sheets("1erSemi").Cells(lig, "e")
Gp = Gp + Sheets("1erSemi").Cells(lig, "j")
Gp = Gp + Sheets("1erSemi").Cells(lig, "o")
Next

Cells(247, 13).Value = Tx
Cells(248, 13).Value = Gp
Cells(250, 13).Value = Tx + Gp
Application.EnableEvents = True
End Sub

si tu as eu des bugs en VBA et que l'événement change ne se fait pas affiche la fenêtre exécution et copie cette ligne
Application.EnableEvents = True
et tape enter cela remets les événements

Bruno
 
Dernière édition:

gerard55

XLDnaute Occasionnel
Re : Calcul cellules dans différentes zones

Bonjour Bruno
Merci pour la mise au point de ce code.
Hier soir, je pensai que c'était bon. Mais, ça fonctionne dans la feuille concernée mais, cette feuille est en liason avec une autre feuille. De sorte que les valeurs renseignée par les formules en liaison avec l'autre feuille ne déclenche pas la macro.
Il faudrait soit que la macro se déclanche dès qu'un chiffre est incrémenté (ce qui serait l'idéal) soit suite à un clic dans la feuille concernée.
Merci d'avance
Gérard GESRET
 

JBOBO

XLDnaute Accro
Re : Calcul cellules dans différentes zones

Bonjour,

Un essai par formule avec colonne supplementaire pouvant etre masquée (voir col C)
 

Pièces jointes

  • zones.xls
    55 KB · Affichages: 42
  • zones.xls
    55 KB · Affichages: 42
  • zones.xls
    55 KB · Affichages: 45

youky(BJ)

XLDnaute Barbatruc
Re : Calcul cellules dans différentes zones

Bonjour,
Dans un module mets ceci.
remplace "Feuil1" par le bon Nom
Code:
Sub mycalcul()
Dim Tx As Long
Dim Gp As Long
For lig = 1 To 241 Step 24
Tx = Tx + Sheets("1erSemi").Cells(lig, "D")
Tx = Tx + Sheets("1erSemi").Cells(lig, "I")
Tx = Tx + Sheets("1erSemi").Cells(lig, "N")
Gp = Gp + Sheets("1erSemi").Cells(lig, "e")
Gp = Gp + Sheets("1erSemi").Cells(lig, "j")
Gp = Gp + Sheets("1erSemi").Cells(lig, "o")
Next
Application.EnableEvents = False
Sheets("Feuil1").Cells(247, 13).Value = Tx
Sheets("Feuil1").Cells(248, 13).Value = Gp
Sheets("Feuil1").Cells(250, 13).Value = Tx + Gp
Application.EnableEvents = True
End Sub
ensuite en Worksheet_Change (DES 2 FEUILLES)
donc à mettre en "Feuil1" et "1erSemi"
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
mycalcul
End Sub

Bruno
 

gerard55

XLDnaute Occasionnel
Re : Calcul cellules dans différentes zones

je poursuis mes demandes.
La proposition de JBOBO aurait pu fonctionner mais j'ai plusieurs colonnes dès lors, ça complique les calculs. Merci cependant pour la proposition.
Bruno votre code m'indique une erreur. La macro se lance et sur le code ci-dessous, j'ai le message suivant:
Erreur de compilation
Variable ou procédure attendue et non module.
Private Sub Worksheet_Change(ByVal Target As Range)
MyCalcul
End Sub
Merci d'avance
a+
 

JBOBO

XLDnaute Accro
Re : Calcul cellules dans différentes zones

Re,

Je pensais pourtant avoir rempli le cahier des charges du 1er post, à savoir additionner les colonnes D, I et J avec un pas de 24 à savoir d1, d25,d49....i1,i25,i49...j1,j25,j49... !
dans mon post la col C set autant pour la somme de la col D que I et J.

Bref j'ai du loupé quelque chose.
 

Discussions similaires

Réponses
10
Affichages
513

Statistiques des forums

Discussions
312 785
Messages
2 092 084
Membres
105 191
dernier inscrit
lucile.maurin