MACRO: modifier la valeur de séries de cellules

MisterT

XLDnaute Occasionnel
Bonjour :)

J'aurais besoin d'aide pour créer une macro qui augmenterait la valeur de qques séries de cellules dans une feuille Excel qui contient des données en pourcentage.

- Chaque cellule a déjà une valeur en POURCENTAGE
- Vous pourrez remarquer que chaque série est incrémentée de 3 cellules (J8, J11, J14, etc)

Voici les séries de cellules et la valeur à ajouter:

La valeur à ajouter pour ces 2 séries-ci est 13%:
J8, J11, J14, J17, J20, etc...J230
Y8, Y11, Y14, Y17, Y20, etc...Y230


La valeur à ajouter pour ces 2 séries-ci est 12%:
J9, J12, J15, J18, etc...J231
J10, J13, J16, J19, etc...J232


La valeur à ajouter pour ces 2 séries-ci est 11%:
AA9, AA12, AA15, AA18, etc...AA231
AA10, AA13, AA16, AA19, etc...AA232


La valeur à ajouter pour cette série-ci est .01 (valeur en nombre normal et non en %):
AD8, AD11, AD14, AD17, AD20, etc...AD230

Voilà ! Un gros merci à celui qui accepte d'utiliser son expertise et son temps pour m'aider !!!

MisterT :)
 

Grand Chaman Excel

XLDnaute Impliqué
Re : MACRO: modifier la valeur de séries de cellules

Bonsoir MisterT,
Quelque chose comme ça peut-être...

VB:
Sub MrT()
    Dim i As Integer
    
    For i = 0 To 74
        Range("J8").Offset(i * 3, 0) = Range("J8").Offset(i * 3, 0) + 0.13
        Range("Y8").Offset(i * 3, 0) = Range("Y8").Offset(i * 3, 0) + 0.13
        Range("J9").Offset(i * 3, 0) = Range("J9").Offset(i * 3, 0) + 0.12
        Range("J10").Offset(i * 3, 0) = Range("J10").Offset(i * 3, 0) + 0.12
        Range("AA9").Offset(i * 3, 0) = Range("AA9").Offset(i * 3, 0) + 0.11
        Range("AA10").Offset(i * 3, 0) = Range("AA10").Offset(i * 3, 0) + 0.11
        Range("AD8").Offset(i * 3, 0) = Range("AD8").Offset(i * 3, 0) + 0.01
    Next i
End Sub

Note: Pas sûr pour la dernière valeur en AD...
A+
 

MisterT

XLDnaute Occasionnel
Re : MACRO: modifier la valeur de séries de cellules

WOW, quelle réponse rapide, MERCI infiniment !!!

Je te souhaite que les Nordiques reviennent à Québec aussi rapidement...

De ce que je peux comprendre de la macro, cela me semble être excellent. Cela m'aurait peut-être pris des jours à découvrir, Je vais tester le tout demain et reviendrai avec le résultat.

Merci encore et bonne fin de soirée !

MisterT :)
 

MisterT

XLDnaute Occasionnel
Re : MACRO: modifier la valeur de séries de cellules

Bonsoir "Grand Chaman Excel" :)

Je viens tout juste de tester la MACRO et ton incertitude par rapport à la dernière valeur en AD est validée car c'est le seul endroit que ça ne fonctionne pas, tout le reste est Excellent, MERCI !

Seule la valeur AD8 a été augmentée de +0.01

Une particularité de la cellule AD8 est qu'elle est fusionnée avec AD9 & AD10 et c'est la même chose pour AD11 qui est fusionnée avec AD12 & AD13, etc.

Lorsque je sélection la cellule fusionnée AD8-9-10, c'est AD8 qui apparaît dans le champs en haut à gauche qui identifie la cellule sélectionnée.

Est-ce que le fait que ce soit des cellules fusionnées peut être la raison du non fonctionnement de l'ajout de la valeur 0.01 aux autres cellules AD11, AD14, etc...?

Merci,
MisterT:)
 

Grand Chaman Excel

XLDnaute Impliqué
Re : MACRO: modifier la valeur de séries de cellules

Bonsoir MisterT,

En effet, si les cellules sont fusionnés, ça cause problème. On peut le régler en modifiant le code ainsi:

VB:
Sub MrT()
    Dim i As Integer
    
    For i = 0 To 74
        Range("J8").Offset(i * 3, 0) = Range("J8").Offset(i * 3, 0) + 0.13
        Range("Y8").Offset(i * 3, 0) = Range("Y8").Offset(i * 3, 0) + 0.13
        Range("J9").Offset(i * 3, 0) = Range("J9").Offset(i * 3, 0) + 0.12
        Range("J10").Offset(i * 3, 0) = Range("J10").Offset(i * 3, 0) + 0.12
        Range("AA9").Offset(i * 3, 0) = Range("AA9").Offset(i * 3, 0) + 0.11
        Range("AA10").Offset(i * 3, 0) = Range("AA10").Offset(i * 3, 0) + 0.11
        Range("AD8").Offset(i, 0) = Range("AD8").Offset(i, 0) + 0.01 '**
    Next i
End Sub

A+
 

MisterT

XLDnaute Occasionnel
Re : MACRO: modifier la valeur de séries de cellules

Re-bonsoir Grand Chaman Excel,

Merci pour l'ajustement !

Les ajouts se font seulement jusqu'à AD83.

Faudrait-il à ce moment-là faire une boucle à part pour les cellules fusionnées dans AD ?

Merci,
MisterT
 

Discussions similaires

Statistiques des forums

Discussions
312 184
Messages
2 086 008
Membres
103 089
dernier inscrit
johnjohn1969