Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…