Améliorer une macro qui fait pareil plusieurs onglets

Bonjour à tous,

Je débute sur VBA et j'aimerais un conseil pour améliorer ma petite macro...

Elle est toute simple.

Mon fichier comporte une quinzaine d'onglets avec des chiffres sur des pays, qui peuvent s'exprimer en milliers ou millions d'euros.

J'ai ensuite un onglet total_pays. Pour qu'il soit cohérent il faut que tous les autres soient ds la même unité monétaire.

Pour l'instant ma macro fonctionne et a cette tête:

Sub MillionEuro()

Sheets("pays A").Range("E24") = "M€"

Sheets("pays B").Range("E24") = "M€"

Sheets("pays C").Range("E24") = "M€"

Sheets("pays D").Range("E24") = "M€"

......

End Sub

J'aimerai pouvoir rédiger ca plus efficacement, sur le principe de la formule qui somme la même cellule de plusieurs onglets, par exemple

Sheets("pays A : pays B"):Range("E24") = "Me".

Est-ce possible?

Mon fichier excel s'est construit peu à peu, du coup les onglets sont pas ds l'ordre "chronologique" (sheet 1, puis 2, 3...), par contre tout ceux que je veux modifier sont à la suite.

D'ailleurs, là je change forcément le contenu de la cellule, mais comment l´écrire pour ne changer que si la condition n'est pas respectée? (ici ca change pas grd chose, mais je m'entraîne pour la suite!)

Merci

Salut et bienvenue sur le Forum,

Apparemment, afin de réaliser ton souhait, il faudra réaliser une boucle For …. Next.

Mais il faudrait alors que les feuilles à traiter soient dans un ordre quelconque (par exemple les feuilles 3 à 8 ou les feuilles dont le nom commence par « Xxxx » ou je ne sais quoi).

Sans voir ton fichier, c’est difficile de savoir dans quelle direction partir.

Alors fournis-nous un fichier dont la texture ressemble exactement à ton fichier réel, quitte à y enlever quelques données confidentielles.

Cordialement.

Bonjour,

Dslée je n'ai pas pu répondre avant.

Là je n'ai pas le fichier sous la main, mais en gros, les 10 feuilles sur lesquelles je veux modifier la même cellule ont été renommées avec des noms de pays; et si je vais voir leur nom ds VBA elles sont ds un ordre du style Sheet12/Sheet8/Sheet1/Sheet4...

Du coup comme c'est tout à fait dans le désordre, je ne sais pas si on peut faire une boucle For...

Mais sinon, peut-on lui demander de prendre en compte l'ordre dans lequel les feuilles apparaissent dans le classeur. Auquel cas on lui demanderait de changer la cellule E24 des onglet Sheet12 à Sheet4?

Salut,

Yvouille a écrit :

Sans voir ton fichier, c’est difficile de savoir dans quelle direction partir.

Adé a écrit :

Là je n'ai pas le fichier sous la main

Pas de problème, je peux patienter jusqu'à ce que tu l'aies

Au plaisir de voir ton fichier.

Rechercher des sujets similaires à "ameliorer macro qui fait pareil onglets"