Formule ou VBA pour itération

Bonsoir,

Je viens solliciter votre aide sur une question pour laquelle je n'ai pas la compétence pour dire si elle peut être résolue de façon simple ou non.

Comme vous pouvez le voir dans le fichier joint au message, onglet "Sheet2", mon objectif est de remplir les colonnes D et E. J'ai déjà entré la formule souhaitée en D6, c'est la moyenne des valeurs de I7 à I187. D7 correspond à la moyenne de L7 à L187. D8 correspondra à la moyenne de O7 à O187. Et ainsi de suite...

Ma question est donc existe t-il un moyen pour rentrer cette formule sans devoir le faire manuellement pour chaque case, je suppose que oui étant donné qu'on est dans un système de série avec à chaque fois la même formule sauf que la colonne concernée augmente de 3.

De la même façon je cherche à remplir la colonne E sans entrer toutes les formules manuellement.

Je vous remercie par avance pour votre aide.

Bonne soirée

Loupiau

Bonjour,

avec decaler() tu peux modifier la taille d'une sélection et la décaler :

DECALER(réf, lignes, colonnes, [hauteur], [largeur])

Tu dois donc décaler en colonne en fonction de la ligne où est ta formule (=Ligne()). En D6 :

=MOYENNE(DECALER($I$7:$I$87;;(LIGNE()-6)*3))

Remarque au passage que l'écriture de ta formule dépend de la ligne où tu l'écris : -6

Je te laisse te faire la main sur E

eric

Bonsoir et bienvenu(e)

Bonsoir eriiic

Une version plus compliquée

Formule en D6 et à tirer vers le bas

=MOYENNE(INDIRECT(ADRESSE(7;9+((LIGNE()-6)*3))&":"&ADRESSE(187;9+((LIGNE()-6)*3))))

Formule en E6 et à tirer vers le bas

=ECARTYPE(INDIRECT(ADRESSE(7;9+((LIGNE()-6)*3))&":"&ADRESSE(187;9+((LIGNE()-6)*3))))

Bonjour,

Merci pour vos deux propositions, j'ai utilisé celle de Banzai qui semble effectivement un peu plus compliquée à inventer mais plus simple d'utilisation.

Merci encore et bonne semaine à tous les deux

Loupiau

Plus simple en quoi ?

Aucune différence, il faut modifier un nombre en fonction de la ligne où tu l'écris (sauf que là c'est à faire 2 fois...).

eric

Bonjour

C'est beaucoup d'honneur (c'est un grand mot - pas trop adapté dans ce cas) que tu utilises ma formule mais je pense que la proposition de eriiic (bonjour) est plus simple mais surtout fait le même boulot (en plus rapide - on parle de peanuts)

Considère ma formule comme un exercice de style, une variante

C'est bien comme ça que je l'avais compris, montrer d'autres possibilités.

Mais j'ai été surpris par le plus simple

eric

Rechercher des sujets similaires à "formule vba iteration"