Une variable représentant un onglet

Bonjour,

Sur un onglet récapitulatif, j’ai une ligne synthétique pour chaque onglet de mon classeur.

Donc sur chaque ligne j’ai une cellule avec la formule suivante :

=INDEX('onglet1'!A10:A200;'onglet1'!I11)

Via une macro, j’aimerai changer « onglet1 » par une variable « ongletx »

Sauriez-vous m’aider ?

Merci de votre aide

Louis

Bonjour Louis,

Je ne suis pas sûr de tout comprendre ...

Dans les cas simlaires au tien, la fonction Indirect() permet d'avoir le nom de l'onglet en variable ... et tous les noms des onglets dans une liste ...

As-tu vraiment besoin de VBA ?

A+

Merci Jame pour ta réponse

Je suis obligé de le faire en VBA car ce n'est qu'une partie d'une macro.

En fait mon classeur me sert à faire un état des stocks.

Chaque onglet représente un outil, et le premier onglet récapitule sous forme de tableau les données importantes de chaque outil.

Ma macro sert à créer un nouvel outil.

1] création de la ligne dans le tableau récapitulatif

2] création de l'onglet et renseignement des informations de l'outil

3] Permettre au tableau récap de reprendre les données de l'onglet (mon problème)

Donc je cherche un code de ce genre:

Sheets(OngletRecap).Select

Dim NumOnglet

NumOnglet = k+1 'k étant une autre variable indiquant la ligne récapitulative du nouvel outil

Cells(k, 3) =(Sheets(NumOnglet); Cells (3,1)) 'C'est sur cette ligne que je bloque, je ne trouve pas la bonne syntaxe.

Est ce plus clair?

Bonjour,

Je comprends que tu as la contrainte d'utiliser VBA ...

Ma question est la suivante :

Faut-il que la macro modifie toutes les formules de tes cellules ?

A+

Bonjour,

Ma macro doit modifier toutes les formules de la ligne créée afin que la nouvelle ligne reporte toutes les valeurs du nouvel onglet correspondant.

J'ai déjà trouver une partie du code mais pas encore en totalité

ActiveCell.FormulaR1C1 = "='" & Var_NomOnglet & "'!R[107]C[-3]"

Var_NomOnglet est une variable concernant l'onglet ciblé

!R[107]C[-3] signifie que la case correspondante se situe 107 cases plus bas que ma cellule d'écriture dans l'onglet recapitulatif et 3 cases à gauche.

Je ne sais pas comment remplacer '!R[107]C[-3] par la cellule invariable "!A203"

Bonjour,

Tu peux essayer de remplacer

ActiveCell.FormulaR1C1 = "='" & Var_NomOnglet & "'!R[107]C[-3]"

par

ActiveCell.Formula = "='" & Var_NomOnglet & "'!$A$203"

A+

Merci James,

Ça marche, c'est top.

A +

Merci pour les remerciements !!!

A+

Rechercher des sujets similaires à "variable representant onglet"