Je te remercie de t’être intéressé à ma proposition l’impression de ne pas avoir travaillé pour rien c’est rassurant
1er/ A quoi sert le bouton Actualisation somme en S3 (AAAAAApourformule) ?
Ce bouton sachant normalement que par simple réactualisation des cellules B2/B3/B4 le traitement ce déclenche sert de roue de secours si celui-ci ne se passait pas correctement pour une raison X
Donc de pouvoir à la main le déclencher c’est une sécurité
« Dans mon fichier Version pre-final TEST. Je vais créer une feuille BASE ( pour faire des copies et les renommer à chaque fois). Dans le temps des nouvelles feuilles seront créé régulièrement sur ce modèle base. »
Attention dans ma version il faudra rajouter dans cette feuille BASE l’automatisme (quelques lignes de codes dans le VBA de la feuille) qui par recopie se mettra dans chaque nouvelle feuille créée c’est indispensable
« en D25 Additionner cellule E22(au lieu de B4) des feuilles ou la cellule G2(au lieu de B3) est égal à ma cellule B5(au lieu de B2)
en D26 Additionner cellule F22(au lieu de B4) des feuilles ou la cellule G2(au lieu de B3) est égal à ma cellule B5(au lieu de B2)
en D27 Additionner cellule G22(au lieu de B4) des feuilles ou la cellule G2(au lieu de B3) est égal à ma cellule B5(au lieu de B2)
en D28 Additionner cellule H22(au lieu de B4) des feuilles ou la cellule G2(au lieu de B3) est égal à ma cellule B5(au lieu de B2)
en D29 Additionner cellule I22(au lieu de B4) des feuilles ou la cellule G2(au lieu de B3) est égal à ma cellule B5(au lieu de B2) »
Il suffira d’adapter ma procédure pour inclure ces nouvelles sommes avec leur nouvelles coordonnées
Mon code actuel :
For h = 1 To Sheets.Count
If Sheets(h).Range(« A10 ») = « R?sultat » And Sheets(h).Range(« B2 ») <> « » Then
nom = UCase(Sheets(h).Range(« B2 »))
somme = 0
For i = 1 To Sheets.Count
If UCase(Sheets(i).Range(« B3 »)) = nom Then
somme = somme + Sheets(i).Range(« B4 »)
End If
Next
Sheets(h).Range(« B10 ») = somme
End If
Next
Qui deviendrait :
For h = 1 To Sheets.Count
If Sheets(h).Range(« A10 ») = « Résultat » And Sheets(h).Range(« B5 ») <> « » Then
nom = UCase(Sheets(h).Range(« B5 »))
somme1 = 0
somme2 = 0
somme3 = 0
somme5 = 0
For i = 1 To Sheets.Count
If UCase(Sheets(i).Range(« G2 »)) = nom Then
somme1 = somme1 + Sheets(i).Range(« E22 »)
somme2 = somme2 + Sheets(i).Range(« F22 »)
somme3 = somme3 + Sheets(i).Range(« G22 »)
somme4 = somme4 + Sheets(i).Range(« H22 »)
somme5 = somme5 + Sheets(i).Range(« I22 »)
End If
Next
Sheets(h).Range(« D25 ») = somme1
Sheets(h).Range(« D26 ») = somme2
Sheets(h).Range(« D27 ») = somme3
Sheets(h).Range(« D28 ») = somme4
Sheets(h).Range(« D29 ») = somme5
End If
Next
A voir juste l’adaptation de cette ligne :
If Sheets(h).Range(« A10 ») = « Résultat » And Sheets(h).Range(« B5 ») <> « » Then
Dans ta première version je m’assurais que le mot « Résultat » était en cellule A10 et que la cellule du nom était renseigné en B2 donc ici en B5
Pas plus compliqué et cela fonctionnera à l’identique de ce que tu as pu constater
A toi de choisir maintenant