Range en VB Excel C'est quoi exactement ?
Dr Zero
Messages postés
1058
Date d'inscription
Statut
Membre
Dernière intervention
-
PlacageGranby Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
PlacageGranby Messages postés 393 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde
Novice dans le VB et ma question risque de faire sourire.
Bon voici, j'utilise la commande Range et j'ai l'impression (bonne ou pas) qu'on l'utilise à toute les sauces (sélectionner une cellule, lui donnée une mise en forme, trouver le numéro de la ligne de la cellule ...)
Quelqu'un pourrait-il donner une explication un peu plus claire, car dans mes recherche sur le net, je tombe sur des sites qui m'expliquent comment l'utiliser mais ce qu'elle est exactement.
Merci d'avance de vos explications.
Novice dans le VB et ma question risque de faire sourire.
Bon voici, j'utilise la commande Range et j'ai l'impression (bonne ou pas) qu'on l'utilise à toute les sauces (sélectionner une cellule, lui donnée une mise en forme, trouver le numéro de la ligne de la cellule ...)
Quelqu'un pourrait-il donner une explication un peu plus claire, car dans mes recherche sur le net, je tombe sur des sites qui m'expliquent comment l'utiliser mais ce qu'elle est exactement.
Merci d'avance de vos explications.
A voir également:
- Range excel
- Range vba - Meilleures réponses
- Range excel français - Meilleures réponses
- Input signal out of range ✓ - Forum Matériel & Système
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour,
Comme dit Nicolas, Range désigne une plage de cellules (ou une seule cellule) : c'est un Objet Excel qui appartient à une feuille et cette feuille appartient à un classeur.
Aux Objets sont associés :
- des propriétés (valeur ou objet lié)
- des méthodes (action)
- et parfois des évènements
Exemples de propriété :
Range("A1").Value donne la valeur de la cellule A1
Range("A1").FormulaLocal donne la Formule de la cellule A1 en tenant compte des options Régionales de Windows (c-à-d en français)
Exemples de méthode :
Range("A1").Clear efface entièrement la cellule A1 (valeur, formats, commentaire, ...)
Range("A1:B1").Merge fusionne les cellules A1 et B1
Il n'y a pas d'évènement natif associé à l'objet Range, mais il est possible d'en définir. Par contre il existe des évènements pour les feuilles de calcul, par exemple :
- l'évènement Change se produit quand le contenu d'une cellule est modifié
- l'évènement SelectionChange se produit quand on change la cellule, la plage ou l'objet sélectionné.
On définit la cellule A1 et la feuille "Feuille 1" du classeur dans lequel se situe la macro comme suit :
et ensuite on peut définir une propriété (écrire Bonjour en A1) :
Parfois on utilises des syntaxes abrégées (déconseillées aux débutants) :
Voici un lien vers un excellent cours VBA :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Cordialement
Patrice
Comme dit Nicolas, Range désigne une plage de cellules (ou une seule cellule) : c'est un Objet Excel qui appartient à une feuille et cette feuille appartient à un classeur.
Aux Objets sont associés :
- des propriétés (valeur ou objet lié)
- des méthodes (action)
- et parfois des évènements
Exemples de propriété :
Range("A1").Value donne la valeur de la cellule A1
Range("A1").FormulaLocal donne la Formule de la cellule A1 en tenant compte des options Régionales de Windows (c-à-d en français)
Exemples de méthode :
Range("A1").Clear efface entièrement la cellule A1 (valeur, formats, commentaire, ...)
Range("A1:B1").Merge fusionne les cellules A1 et B1
Il n'y a pas d'évènement natif associé à l'objet Range, mais il est possible d'en définir. Par contre il existe des évènements pour les feuilles de calcul, par exemple :
- l'évènement Change se produit quand le contenu d'une cellule est modifié
- l'évènement SelectionChange se produit quand on change la cellule, la plage ou l'objet sélectionné.
On définit la cellule A1 et la feuille "Feuille 1" du classeur dans lequel se situe la macro comme suit :
Dim rng As Range Set rng = ThisWorkbook.Worksheets("Feuille 1").Range("A1")et celle du classeur actif (qui n'est pas forcement le même) :
Set rng = ActiveWorkbook.Worksheets("Feuille 1").Range("A1")
et ensuite on peut définir une propriété (écrire Bonjour en A1) :
rng.Value = "Bonjour"ou utiliser une ou des méthodes (Resize = redimensionner la plage vers 2 ligne et 3 colonnes puis, Merge = fusionner les 6 cellules, c'est à dire A1 à C2) :
rng.Resize(2, 3).Merge
Parfois on utilises des syntaxes abrégées (déconseillées aux débutants) :
Set rng = Worksheets("Feuille 1").Range("A1") 'du classeur actif Set rng = Range("A1") 'de la feuille active
Voici un lien vers un excellent cours VBA :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Cordialement
Patrice