Copier cellule fixe

Bonjour,

J'ai une question toute bête.

A l'aide d'une macro je voudrais copier la valeur d'une cellule de la feuille 1 (utilisant une formule) et la copier dans une cellule de la feuille 2

Le code très simple que j'ai mis, fonctionne mais n'est pas robuste à l' insertion de lignes ou colonnes dans la feuille 1.

Voici mon code :

Range("F4") = Sheets("Feuille1"). Range("B3")

Comment faire pour que la valeur collée en F4 soit toujours celle de B3 de la feuille 1, même si j'ajoute ou enlève des lignes/colonnes à la feuille 1 ?

Bonjour,

Cette ligne :

Sheets("Feuille2").Range("F4") = Sheets("Feuille1").Range("B3")

affectera toujours à F4 de la feuille 2 la valeur de B3 de la feuille 1.

Si la cellule B3 est amenée à changer de place, il est possible de nommer cette cellule ("nom" par exemple) :

Sheets("Feuille2").Range("F4") = Sheets("Feuille1").Range("nom")

Cdlt,

Bonjour,

Je ne suis pas sur d'avoir compris comment utiliser le Range("nom").

Par exemple si je veux que la cellule B3 de la feuille 1 s'appelle 'I Alt', je dois écrire?

Sheets("Feuille1"). Range("B3") = I Alt

Si ensuite le B3 devient B4 ou C3, est-ce qu'il va copier la valeur du nouveau B3 ou bien garder la valeur que je veux (B4)?

On peut nommer une cellule (ou un ensemble de cellules) en la sélectionnant puis en tapant le nom dans la barre de référence (petite barre à gauche de la barre de formules).

Sinon, on peut le faire via le gestionnaire de noms.

Quelque soit la méthode utilisée, je crois que les espaces ne sont pas autorisés dans les noms (et quand bien même ils le seraient, il vaut mieux éviter).

Une fois le nom attribué à la cellule, elle le garde, peu importe sa position. Et la seconde ligne de code, réadaptée pour tenir compte du nom "Alt" :

Sheets("Feuille2").Range("F4") = Sheets("Feuille1").Range("Alt")

devrait fonctionner.

Rechercher des sujets similaires à "copier fixe"