Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ?
Il s'agit d'une référence relative [Offset de 2 par rapport à l'index du "Columns"]
Syntaxe "semblable" :
Range("E:E").Range("B:B") = "toto"
AV
Daniel
Merci La deuxième syntaxe est encore plus illisible. Daniel "AV" a écrit dans le message de news:
Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ?
Il s'agit d'une référence relative [Offset de 2 par rapport à l'index du "Columns"]
Syntaxe "semblable" :
Range("E:E").Range("B:B") = "toto"
AV
Merci
La deuxième syntaxe est encore plus illisible.
Daniel
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
e5PdbNy0FHA.1040@TK2MSFTNGP14.phx.gbl...
Comment interpréter la commande :
Columns(5)(2) = "toto"
qui remplit la colonne 6 de totos; Comme une sorte d'offset ?
Il s'agit d'une référence relative [Offset de 2 par rapport à l'index du
"Columns"]
Merci La deuxième syntaxe est encore plus illisible. Daniel "AV" a écrit dans le message de news:
Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ?
Il s'agit d'une référence relative [Offset de 2 par rapport à l'index du "Columns"]
Syntaxe "semblable" :
Range("E:E").Range("B:B") = "toto"
AV
michdenis
Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas, ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la colonne (ligne) suivante
exemple : With Range("D1:M10") Msgbox .columns(5)(2).column end with
With worksheets("Feuil1") Msgbox .columns(5)(2).column end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples : Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-1).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-2).Column End With
Salutations!
"Daniel" a écrit dans le message de news: %23a% Bonjour. Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ? Cordialement. Daniel
Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de
référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas,
ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la
colonne (ligne) suivante
exemple :
With Range("D1:M10")
Msgbox .columns(5)(2).column
end with
With worksheets("Feuil1")
Msgbox .columns(5)(2).column
end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples :
Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1")
MsgBox .Columns(5)(0).Column
End With
With Worksheets("Feuil1")
MsgBox .Columns(5)(-1).Column
End With
With Worksheets("Feuil1")
MsgBox .Columns(5)(-2).Column
End With
Salutations!
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news: %23a%23HEzx0FHA.1256@TK2MSFTNGP09.phx.gbl...
Bonjour.
Comment interpréter la commande :
Columns(5)(2) = "toto"
qui remplit la colonne 6 de totos; Comme une sorte d'offset ?
Cordialement.
Daniel
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas, ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la colonne (ligne) suivante
exemple : With Range("D1:M10") Msgbox .columns(5)(2).column end with
With worksheets("Feuil1") Msgbox .columns(5)(2).column end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples : Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-1).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-2).Column End With
Salutations!
"Daniel" a écrit dans le message de news: %23a% Bonjour. Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ? Cordialement. Daniel
michdenis
La réponse à ma petite question et un petit supplément d'informations :
Excel permet des raccourcis. C'est pour cela que nous pouvons écrire : Columns(5)(2) = "toto"
En fait, la syntaxe complète est : Columns(5).item(2) = "toto" Le nom de la propriété "Item" de la collection "Columns" est facultatif.
Quelques lignes de code comme exemple : '------------------------- Sub testdd()
With Worksheets("Feuil1") MsgBox .Columns(5).Item(2).Column '=6 MsgBox .Columns(5).Item(2).Cells.Item(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5)(2).Cells(1, 1).Address ' = F1 End With
End Sub '-------------------------
Pourquoi le résultat affiché est = 4 '------------------- With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With '-------------------
Le premier item de la collection colonne = 1 Msgbox Columns.Item(1).Column égale à 1
En conséquence : item(0) est donc la première colonne à gauche de la colonne de référence, le cas échéant et lorsque c'est possible. MsgBox .Columns(5)(0).Column = colonne 4
Salutations!
"michdenis" a écrit dans le message de news: Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas, ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la colonne (ligne) suivante
exemple : With Range("D1:M10") Msgbox .columns(5)(2).column end with
With worksheets("Feuil1") Msgbox .columns(5)(2).column end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples : Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-1).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-2).Column End With
Salutations!
"Daniel" a écrit dans le message de news: %23a% Bonjour. Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ? Cordialement. Daniel
La réponse à ma petite question et un petit supplément d'informations :
Excel permet des raccourcis. C'est pour cela que nous pouvons
écrire : Columns(5)(2) = "toto"
En fait, la syntaxe complète est : Columns(5).item(2) = "toto"
Le nom de la propriété "Item" de la collection "Columns" est
facultatif.
Quelques lignes de code comme exemple :
'-------------------------
Sub testdd()
With Worksheets("Feuil1")
MsgBox .Columns(5).Item(2).Column '=6
MsgBox .Columns(5).Item(2).Cells.Item(1, 1).Address ' = F1
MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1
MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1
MsgBox .Columns(5)(2).Cells(1, 1).Address ' = F1
End With
End Sub
'-------------------------
Pourquoi le résultat affiché est = 4
'-------------------
With Worksheets("Feuil1")
MsgBox .Columns(5)(0).Column
End With
'-------------------
Le premier item de la collection colonne = 1
Msgbox Columns.Item(1).Column égale à 1
En conséquence : item(0) est donc la première colonne à gauche de la colonne de référence, le cas échéant et lorsque c'est possible.
MsgBox .Columns(5)(0).Column = colonne 4
Salutations!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news: O9meAXy0FHA.2924@TK2MSFTNGP15.phx.gbl...
Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de
référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas,
ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la
colonne (ligne) suivante
exemple :
With Range("D1:M10")
Msgbox .columns(5)(2).column
end with
With worksheets("Feuil1")
Msgbox .columns(5)(2).column
end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples :
Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1")
MsgBox .Columns(5)(0).Column
End With
With Worksheets("Feuil1")
MsgBox .Columns(5)(-1).Column
End With
With Worksheets("Feuil1")
MsgBox .Columns(5)(-2).Column
End With
Salutations!
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news: %23a%23HEzx0FHA.1256@TK2MSFTNGP09.phx.gbl...
Bonjour.
Comment interpréter la commande :
Columns(5)(2) = "toto"
qui remplit la colonne 6 de totos; Comme une sorte d'offset ?
Cordialement.
Daniel
La réponse à ma petite question et un petit supplément d'informations :
Excel permet des raccourcis. C'est pour cela que nous pouvons écrire : Columns(5)(2) = "toto"
En fait, la syntaxe complète est : Columns(5).item(2) = "toto" Le nom de la propriété "Item" de la collection "Columns" est facultatif.
Quelques lignes de code comme exemple : '------------------------- Sub testdd()
With Worksheets("Feuil1") MsgBox .Columns(5).Item(2).Column '=6 MsgBox .Columns(5).Item(2).Cells.Item(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5)(2).Cells(1, 1).Address ' = F1 End With
End Sub '-------------------------
Pourquoi le résultat affiché est = 4 '------------------- With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With '-------------------
Le premier item de la collection colonne = 1 Msgbox Columns.Item(1).Column égale à 1
En conséquence : item(0) est donc la première colonne à gauche de la colonne de référence, le cas échéant et lorsque c'est possible. MsgBox .Columns(5)(0).Column = colonne 4
Salutations!
"michdenis" a écrit dans le message de news: Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas, ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la colonne (ligne) suivante
exemple : With Range("D1:M10") Msgbox .columns(5)(2).column end with
With worksheets("Feuil1") Msgbox .columns(5)(2).column end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples : Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-1).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-2).Column End With
Salutations!
"Daniel" a écrit dans le message de news: %23a% Bonjour. Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ? Cordialement. Daniel
Daniel
Je viens de rentrer et je trouve ton post encyclopédique : c'est top. J'ai tout compris et même anticipé les derniers résultats. Comme quoi il ne faut jamais désespérer. Daniel "michdenis" a écrit dans le message de news:
Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas, ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la colonne (ligne) suivante
exemple : With Range("D1:M10") Msgbox .columns(5)(2).column end with
With worksheets("Feuil1") Msgbox .columns(5)(2).column end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples : Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-1).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-2).Column End With
Salutations!
"Daniel" a écrit dans le message de news: %23a% Bonjour. Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ? Cordialement. Daniel
Je viens de rentrer et je trouve ton post encyclopédique :
c'est top. J'ai tout compris et même anticipé les derniers résultats. Comme
quoi il ne faut jamais désespérer.
Daniel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
O9meAXy0FHA.2924@TK2MSFTNGP15.phx.gbl...
Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la
plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à
partir de la colonne de référence, la colonne de
référence étant la première colonne. Ce n'est pas à proprement parlé
équivalent à la propriété Offset d'un range, car dans ce cas,
ceci implique un déplacement... c'est à dire que la colonne de référence
n'est pas utilisé dans le décompte, le décompte débute à la
colonne (ligne) suivante
exemple :
With Range("D1:M10")
Msgbox .columns(5)(2).column
end with
With worksheets("Feuil1")
Msgbox .columns(5)(2).column
end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples :
Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1")
MsgBox .Columns(5)(0).Column
End With
With Worksheets("Feuil1")
MsgBox .Columns(5)(-1).Column
End With
With Worksheets("Feuil1")
MsgBox .Columns(5)(-2).Column
End With
Salutations!
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23a%23HEzx0FHA.1256@TK2MSFTNGP09.phx.gbl...
Bonjour.
Comment interpréter la commande :
Columns(5)(2) = "toto"
qui remplit la colonne 6 de totos; Comme une sorte d'offset ?
Cordialement.
Daniel
Je viens de rentrer et je trouve ton post encyclopédique : c'est top. J'ai tout compris et même anticipé les derniers résultats. Comme quoi il ne faut jamais désespérer. Daniel "michdenis" a écrit dans le message de news:
Bonjour Daniel,
Columns est une collection des colonnes de la feuille
Columns(5) représente une colonne bien particulière de la feuille ou de la plage de cellules.
Columns(5)(2) représente le 2 ième élément de la collection des colonnes à partir de la colonne de référence, la colonne de référence étant la première colonne. Ce n'est pas à proprement parlé équivalent à la propriété Offset d'un range, car dans ce cas, ceci implique un déplacement... c'est à dire que la colonne de référence n'est pas utilisé dans le décompte, le décompte débute à la colonne (ligne) suivante
exemple : With Range("D1:M10") Msgbox .columns(5)(2).column end with
With worksheets("Feuil1") Msgbox .columns(5)(2).column end with
Et pour terminer, je te laisse réfléchir sur ces 3 exemples : Les messages box afficheront 4 , 3 , 2 tu sais pourquoi ? ;-))
With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-1).Column End With
With Worksheets("Feuil1") MsgBox .Columns(5)(-2).Column End With
Salutations!
"Daniel" a écrit dans le message de news: %23a% Bonjour. Comment interpréter la commande : Columns(5)(2) = "toto" qui remplit la colonne 6 de totos; Comme une sorte d'offset ? Cordialement. Daniel
Daniel
Et voila qui règle le dernier point qui pouvait rester obscur. PS. valable pour décalage ligne et colonne : Range("A1")(2, 2) = "toto" Encore merci. Daniel "michdenis" a écrit dans le message de news:
La réponse à ma petite question et un petit supplément d'informations :
Excel permet des raccourcis. C'est pour cela que nous pouvons écrire : Columns(5)(2) = "toto"
En fait, la syntaxe complète est : Columns(5).item(2) = "toto" Le nom de la propriété "Item" de la collection "Columns" est facultatif.
Quelques lignes de code comme exemple : '------------------------- Sub testdd()
With Worksheets("Feuil1") MsgBox .Columns(5).Item(2).Column '=6 MsgBox .Columns(5).Item(2).Cells.Item(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5)(2).Cells(1, 1).Address ' = F1 End With
End Sub '-------------------------
Pourquoi le résultat affiché est = 4 '------------------- With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With '-------------------
Le premier item de la collection colonne = 1 Msgbox Columns.Item(1).Column égale à 1
En conséquence : item(0) est donc la première colonne à gauche de la colonne de référence, le cas échéant et lorsque c'est possible. MsgBox .Columns(5)(0).Column = colonne 4
Salutations!
Et voila qui règle le dernier point qui pouvait rester obscur.
PS. valable pour décalage ligne et colonne :
Range("A1")(2, 2) = "toto"
Encore merci.
Daniel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
uevgRq00FHA.3180@TK2MSFTNGP14.phx.gbl...
La réponse à ma petite question et un petit supplément d'informations :
Excel permet des raccourcis. C'est pour cela que nous pouvons
écrire : Columns(5)(2) = "toto"
En fait, la syntaxe complète est : Columns(5).item(2) = "toto"
Le nom de la propriété "Item" de la collection "Columns" est
facultatif.
Quelques lignes de code comme exemple :
'-------------------------
Sub testdd()
With Worksheets("Feuil1")
MsgBox .Columns(5).Item(2).Column '=6
MsgBox .Columns(5).Item(2).Cells.Item(1, 1).Address ' = F1
MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1
MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1
MsgBox .Columns(5)(2).Cells(1, 1).Address ' = F1
End With
End Sub
'-------------------------
Pourquoi le résultat affiché est = 4
'-------------------
With Worksheets("Feuil1")
MsgBox .Columns(5)(0).Column
End With
'-------------------
Le premier item de la collection colonne = 1
Msgbox Columns.Item(1).Column égale à 1
En conséquence : item(0) est donc la première colonne à gauche de la
colonne de référence, le cas échéant et lorsque c'est possible.
MsgBox .Columns(5)(0).Column = colonne 4
Et voila qui règle le dernier point qui pouvait rester obscur. PS. valable pour décalage ligne et colonne : Range("A1")(2, 2) = "toto" Encore merci. Daniel "michdenis" a écrit dans le message de news:
La réponse à ma petite question et un petit supplément d'informations :
Excel permet des raccourcis. C'est pour cela que nous pouvons écrire : Columns(5)(2) = "toto"
En fait, la syntaxe complète est : Columns(5).item(2) = "toto" Le nom de la propriété "Item" de la collection "Columns" est facultatif.
Quelques lignes de code comme exemple : '------------------------- Sub testdd()
With Worksheets("Feuil1") MsgBox .Columns(5).Item(2).Column '=6 MsgBox .Columns(5).Item(2).Cells.Item(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5).Item(2).Cells(1, 1).Address ' = F1 MsgBox .Columns(5)(2).Cells(1, 1).Address ' = F1 End With
End Sub '-------------------------
Pourquoi le résultat affiché est = 4 '------------------- With Worksheets("Feuil1") MsgBox .Columns(5)(0).Column End With '-------------------
Le premier item de la collection colonne = 1 Msgbox Columns.Item(1).Column égale à 1
En conséquence : item(0) est donc la première colonne à gauche de la colonne de référence, le cas échéant et lorsque c'est possible. MsgBox .Columns(5)(0).Column = colonne 4