Range en VB Excel C'est quoi exactement ?
Fermé
Dr Zero
Messages postés
1055
Date d'inscription
samedi 29 mai 2010
Statut
Membre
Dernière intervention
15 décembre 2021
-
14 août 2015 à 12:59
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 14 août 2015 à 14:44
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 14 août 2015 à 14:44
A voir également:
- Range excel
- Range excel français - Meilleures réponses
- Fonction range excel - Meilleures réponses
- Liste déroulante excel - Guide
- Input signal out of range ✓ - Forum Matériel & Système
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
2 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 14/08/2015 à 14:41
Modifié par Patrice33740 le 14/08/2015 à 14:41
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