Quelques éclaircissements sur les cellules

bonjour à tous,

débutant sur excel/vba, je me rends compte à l'utilisation que pour travailler sur une cellule, on l'appelle parfois, Cell, parfois Target, parfois Range, et autres dénominations. J'imagine que la "façon" de la nommer dépend surtout du contexte dans lequel elle est utilisée.

Pour essayer d'y voir plus clair, auriez vous un lien/url qui synthétise tout cela et lever ainsi certaines interrogations que je peux avoir

merci

Bonjour,

J'ai peur de dire des bêtises car je début depuis peu, pour moi Range c'est une ou une plage de cellule, Cells c'est pour une cellule (et Target c'est pour les événements ?)

https://forum.excel-pratique.com/excel/difference-entre-target-et-range-t77093.html

Bonjour,

en plus de ce qu'a cité Gjulien , il a plus "Selection" tout les cellules sélectionnée , "activecells" la cellule sur laquelle on est actuellement.

après il existe plusieurs méthode qui indique une cellules en fonction de d'autre comme "offset" mais tous sa viens avec le temps

le principal qu'il faut maîtriser sont les syntaxe de "range" et "cells" pour bien débuté

Bonjour sam42,

Target, Range et Cells sont toutes des plages (Range en anglais)

On va utiliser "Cells" pour décrire UNE cellule. C'est donc une plage d'une seule cellule

Feuil1.Cells(nLigne,nColonne) 'est une RANGE qui ne contient qu'une cellule, et correspond à la cellule à la ligne nLigne et colonne nColonne

Target est une "variable d'évènement". Par exemple lorsque l'utilisateur sélectionne une cellule ou une plage de cellules, un évènement se déclenche (une sorte de procédure automatique)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cette procédure automatique affecte à la variable appelée Target la nouvelle sélection. Donc Target est une variable de type RANGE, qui fait référence aux cellules sélectionnées par l'utilisateur. Exemple concret, je clique sur la cellule "A1" -> la procédure Worksheet_SelectionChange se déclenche -> la variable appellée Target va faire référence à la cellule "A1".

Maintenant imaginons que tu souhaites stocker plusieurs cellules dans une variable

Dim maPlage as Range
set maPlage = Range("A1:A50") 'maPlage est de type RANGE. Avec cette affectation elle contient 50 cellules

j'espere que sam42 a déjà fait un minimum de programmation ^^

l'explication de d3d9x est très complet et j'aime bcp ces "définition" =)

mais je pense qu'il est assez difficil de comprendre tout sa pour quelqu'un qui débute tout juste et qu'il n'a jamais fait de programmation avant :p

Bonjour Sam, Julien, bonjour le forum

Range et Cells représentent une cellule avec deux approches différentes. Range utilise la référence A1 et Cells la référence L1C1.

Range("A1") est donc la même chose que [b]Cells(1, 1)

[/b]Quand tu veux utiliser une variable colonne (disons COL), Cells(1, COL) et beaucoup plus facile à manier que Range .

Pour une plage, Range est plus approprié comme le dit Julien, mais tu peux combiner Range et Cells :

Range(Cells(1, 1), Cells(100,4)) est la même chose que Range("A1:D100"). En fait, dès que j'utilise une variable Colonne je préfère Cells...

Target est un argument dans les macros événementielles SelectionChange, Change, BeforeDoubleClick, BeforeRightClick, etc...

Il correspond à la cellule qui a été sélectionnée, éditée, double-cliquée ou cliquée avec le bouton droit. Permet par exemple de limiter l'action de ces macros à une plage avec :

Is Not Application.Instersect(Traget, Range("A1: A10") Is Nothing Then...

fera que la macro événementielle sera limité à la plage A1:A10.

Uniquement utilisé dans ces macros événementielles je te recommande de ne pas utiliser ce mot clé ailleurs.

[Édition]

Oooops ! 'ach'ment en r'tard moi sur ce coup...

Rechercher des sujets similaires à "eclaircissements"