Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

c.Range

4 réponses
Avatar
Jacquouille
Bonjour
Un filet de macro.....
For each c in range("A1:A100")
If [c]=....then c.range("A1:C1").interior.colorIndex=3
......
---------------------
Dans ce cas, on balaie la plage A1:A100, dans laquelle c devient A1, puis
A2, puis A3 ....
Question:
Comment la machine interprète-t-elle c.range("A1:C1") où le 1 de A1 et C1
semble remplacer le Row(c). Comment cela se passe-t-il?
Pour info, j'ai copié honteusement ce c.range(..) chez le Président AV et
cela fonctionne très bien.
Merci de m'expliquer ce truc car mon neurone a tendance à être en vacance.
Merci et bonne fin de journée
Jacques.

--
Bien amicalmement,
Vivement conseillés:
- Un gros marteau
- Un verre de vin d'Alsace....et tout ira mieux.

Jacquouille.

4 réponses

Avatar
AV
For each c in range("A1:A100")
If [c]=....then c.range("A1:C1").interior.colorIndex=3
Dans ce cas, on balaie la plage A1:A100, dans laquelle c devient A1, puis A2,
puis A3 ....
Question:
Comment la machine interprète-t-elle c.range("A1:C1")


Il s'agit d'une (très intéressante) référence relative qui "équivaut à un
décalage" (qui peut-être remplacé, dans certains cas, par la propriété Resize)
!
Dans cet exemple, la plage concernée sera de c (inclus) à 2 cellules à droite
quelle que soit la position de c (référence relative)

Exemples concrets :

Range("C3").Range("A1:C1").Select
===> Sélection de C3:E3

Range("C3").Range("B2:D4").Select
===> Sélection de D4:F6

Etc.....
Exercices pratiques : voir au travers d'exemples, comment la logique est
respectée

AV

Avatar
Jacquouille
"AV" a écrit dans le message de news: >> For
each c in range("A1:A100")
Dans cet exemple, la plage concernée sera de c (inclus) à 2 cellules à
droite quelle que soit la position de c (référence relative)
<<<<< Les 2 cel + c = 3 , sont obtenues par (colA+colB+colC = 3 col dont
celle de c comprise?
-------------------------------------------------------------------

Exemples concrets :
Range("C3").Range("A1:C1").Select
===> Sélection de C3:E3
<<<<<<<<< idem de 3 col, donc C3,D3 et E3 ?
--------------------------------------------------------

Range("C3").Range("B2:D4").Select
<<<<<<<<<<< Alors ici aussi, 3 col, mais à partir de c3 - 1 ligne et -1
col, jusque c3 + 1 ligne et 3 col ???? Alors, je ne comprends pas ta
sélection D4:F6 ???????
Tu peux expliquer, SVP

===> Sélection de D4:F6
Un grand merci

Jacques, élève studieux à 16 heures

Avatar
JPB
Bonjour
Pour expliquer autrement Range("C3").Range("B2:D4").Select
Tu fais comme si C3 devenait A1
donc B2 sera décalé de 1 col et 1 ligne par rapport à C3 et devient
D4=début de la sélection
D4 sera décalé de 3 col et 3 lignes par rapport à C3 et devient
F6=fin de la sélection

bonne continuation

"Jacquouille" a écrit dans le message de
news: e9B$
"AV" a écrit dans le message de news: >> For
each c in range("A1:A100")
Dans cet exemple, la plage concernée sera de c (inclus) à 2 cellules à
droite quelle que soit la position de c (référence relative)
<<<<< Les 2 cel + c = 3 , sont obtenues par (colA+colB+colC = 3 col dont
celle de c comprise?
-------------------------------------------------------------------

Exemples concrets :
Range("C3").Range("A1:C1").Select
===> Sélection de C3:E3
<<<<<<<<< idem de 3 col, donc C3,D3 et E3 ?
--------------------------------------------------------

Range("C3").Range("B2:D4").Select
<<<<<<<<<<< Alors ici aussi, 3 col, mais à partir de c3 - 1 ligne et -1
col, jusque c3 + 1 ligne et 3 col ???? Alors, je ne comprends pas ta
sélection D4:F6 ???????
Tu peux expliquer, SVP

===> Sélection de D4:F6
Un grand merci

Jacques, élève studieux à 16 heures





Avatar
Jacquouille
Bonjour
Il a fallu que je dessine tout cela sur une feuille et mettre les cel en
couleur pour comprendre.
C'est bien expliqué, mais cela reste de la masturbation cérébrale pour
remplacer "décaler".
Je crois comprendre le pourquoi de lignes parasites crées avec mon exemple
dans lequel on balaie la col a.
Merci pour ces "détails". -))


--
Bien amicalmement,
Vivement conseillés:
- Un gros marteau
- Un verre de vin d'Alsace....et tout ira mieux.

Jacquouille.

"JPB" a écrit dans le message de news:
4697f3d9$0$22415$
Bonjour
Pour expliquer autrement Range("C3").Range("B2:D4").Select
Tu fais comme si C3 devenait A1
donc B2 sera décalé de 1 col et 1 ligne par rapport à C3 et devient
D4=début de la sélection
D4 sera décalé de 3 col et 3 lignes par rapport à C3 et devient
F6=fin de la sélection

bonne continuation

"Jacquouille" a écrit dans le message de
news: e9B$
"AV" a écrit dans le message de news: >> For
each c in range("A1:A100")
Dans cet exemple, la plage concernée sera de c (inclus) à 2 cellules à
droite quelle que soit la position de c (référence relative)
<<<<< Les 2 cel + c = 3 , sont obtenues par (colA+colB+colC = 3 col dont
celle de c comprise?
-------------------------------------------------------------------

Exemples concrets :
Range("C3").Range("A1:C1").Select
===> Sélection de C3:E3
<<<<<<<<< idem de 3 col, donc C3,D3 et E3 ?
--------------------------------------------------------

Range("C3").Range("B2:D4").Select
<<<<<<<<<<< Alors ici aussi, 3 col, mais à partir de c3 - 1 ligne et -1
col, jusque c3 + 1 ligne et 3 col ???? Alors, je ne comprends pas ta
sélection D4:F6 ???????
Tu peux expliquer, SVP

===> Sélection de D4:F6
Un grand merci

Jacques, élève studieux à 16 heures