Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples retenues ne le sont pour les fins de mon intervention !
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.) inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire le comportement d'excel lors de la saisie du code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples retenues ne le sont pour les fins de mon intervention !
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.) inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire le comportement d'excel lors de la saisie du code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples retenues ne le sont pour les fins de mon intervention !
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.) inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire le comportement d'excel lors de la saisie du code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.) inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.) inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.) inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:OgcjWklpEHA.2032@TK2MSFTNGP10.phx.gbl...
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OUeYHLlpEHA.1300@TK2MSFTNGP12.phx.gbl...
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:OgcjWklpEHA.2032@TK2MSFTNGP10.phx.gbl...
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OUeYHLlpEHA.1300@TK2MSFTNGP12.phx.gbl...
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Il
ne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nom
utilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela ne
l'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" a écrit dans le
message de
news:
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a priori
si
l'objet existe ou non, car il interprétera l'index à l'exécution. Comme un
worksheet pourrait avoir des propriétés ou procédures particulières ( hors
du jeu standard des propriétés et méthodes définies par Excel), l'éditeur
ne
sait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cet
objet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" a écrit dans le message de
news:Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du toutavec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
une
variable objet intermédiaire que tu supprimeensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'ilest possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune listedéroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
après
le premier point "thisworkbook" et est absent pourle reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettent
à cette liste déroulante d'apparaître lorsque l'onsaisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie ducode...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / ongletÉditeur est effectivement cochée.
Salutations!
Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Il
ne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nom
utilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela ne
l'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> a écrit dans le
message de
news:utGY4JmpEHA.3244@tk2msftngp13.phx.gbl...
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a priori
si
l'objet existe ou non, car il interprétera l'index à l'exécution. Comme un
worksheet pourrait avoir des propriétés ou procédures particulières ( hors
du jeu standard des propriétés et méthodes définies par Excel), l'éditeur
ne
sait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cet
objet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:e5jyD3lpEHA.556@TK2MSFTNGP09.phx.gbl...
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:OgcjWklpEHA.2032@TK2MSFTNGP10.phx.gbl...
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OUeYHLlpEHA.1300@TK2MSFTNGP12.phx.gbl...
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Il
ne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nom
utilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela ne
l'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" a écrit dans le
message de
news:
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a priori
si
l'objet existe ou non, car il interprétera l'index à l'exécution. Comme un
worksheet pourrait avoir des propriétés ou procédures particulières ( hors
du jeu standard des propriétés et méthodes définies par Excel), l'éditeur
ne
sait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cet
objet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" a écrit dans le message de
news:Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du toutavec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
une
variable objet intermédiaire que tu supprimeensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'ilest possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune listedéroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
après
le premier point "thisworkbook" et est absent pourle reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettent
à cette liste déroulante d'apparaître lorsque l'onsaisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie ducode...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / ongletÉditeur est effectivement cochée.
Salutations!
A nouveau, c'est parce que tu utilises worksheets(1).Range... Si tu
utilises
Feuil1.Range..., tu auras une liste qui suivra chaque point, car Excel
saura
à quel objet tu te réfères.
Pour l'objet Range, c'est différent car tu n'as pas accès au module de
classe de l'objet Range, et tu ne sais donc pas ajouter des propriétés ou
méthodes pour cet objet. Dès lors, même si tu donnais une référence hors
plage, par exemple range("XX9999"), excel te donnerait la liste des
propriétés et méthodes, alors même que l'objet ne peut exister.
Pierre
"michdenis" a écrit dans le message de
news:Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Ilne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nomutilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela nel'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" a écrit dans le
message denews:
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a
priori
sil'objet existe ou non, car il interprétera l'index à l'exécution. Comme
un
worksheet pourrait avoir des propriétés ou procédures particulières (
hors
du jeu standard des propriétés et méthodes définies par Excel),
l'éditeur
nesait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cetobjet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque
tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution
dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans
le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" a écrit dans le message de
news:Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille
graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce
qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi
excel
cela fonctionne très bien avec l'un et pas du toutavec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables
objet
... mais cela ne faisait pas parti de ma question !;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un
Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
unevariable objet intermédiaire que tu supprimeensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'ilest possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion
du
point entre chaque expression ne génère aucune listedéroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
aprèsle premier point "thisworkbook" et est absent pourle reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettentà cette liste déroulante d'apparaître lorsque l'onsaisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie ducode...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / ongletÉditeur est effectivement cochée.
Salutations!
A nouveau, c'est parce que tu utilises worksheets(1).Range... Si tu
utilises
Feuil1.Range..., tu auras une liste qui suivra chaque point, car Excel
saura
à quel objet tu te réfères.
Pour l'objet Range, c'est différent car tu n'as pas accès au module de
classe de l'objet Range, et tu ne sais donc pas ajouter des propriétés ou
méthodes pour cet objet. Dès lors, même si tu donnais une référence hors
plage, par exemple range("XX9999"), excel te donnerait la liste des
propriétés et méthodes, alors même que l'objet ne peut exister.
Pierre
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:e3QqdcmpEHA.536@TK2MSFTNGP09.phx.gbl...
Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Il
ne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nom
utilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela ne
l'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> a écrit dans le
message de
news:utGY4JmpEHA.3244@tk2msftngp13.phx.gbl...
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a
priori
si
l'objet existe ou non, car il interprétera l'index à l'exécution. Comme
un
worksheet pourrait avoir des propriétés ou procédures particulières (
hors
du jeu standard des propriétés et méthodes définies par Excel),
l'éditeur
ne
sait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cet
objet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque
tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution
dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans
le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:e5jyD3lpEHA.556@TK2MSFTNGP09.phx.gbl...
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille
graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce
qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi
excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables
objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:OgcjWklpEHA.2032@TK2MSFTNGP10.phx.gbl...
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un
Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OUeYHLlpEHA.1300@TK2MSFTNGP12.phx.gbl...
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion
du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
A nouveau, c'est parce que tu utilises worksheets(1).Range... Si tu
utilises
Feuil1.Range..., tu auras une liste qui suivra chaque point, car Excel
saura
à quel objet tu te réfères.
Pour l'objet Range, c'est différent car tu n'as pas accès au module de
classe de l'objet Range, et tu ne sais donc pas ajouter des propriétés ou
méthodes pour cet objet. Dès lors, même si tu donnais une référence hors
plage, par exemple range("XX9999"), excel te donnerait la liste des
propriétés et méthodes, alors même que l'objet ne peut exister.
Pierre
"michdenis" a écrit dans le message de
news:Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Ilne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nomutilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela nel'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" a écrit dans le
message denews:
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a
priori
sil'objet existe ou non, car il interprétera l'index à l'exécution. Comme
un
worksheet pourrait avoir des propriétés ou procédures particulières (
hors
du jeu standard des propriétés et méthodes définies par Excel),
l'éditeur
nesait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cetobjet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque
tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution
dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans
le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" a écrit dans le message de
news:Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille
graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce
qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi
excel
cela fonctionne très bien avec l'un et pas du toutavec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables
objet
... mais cela ne faisait pas parti de ma question !;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un
Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
unevariable objet intermédiaire que tu supprimeensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'ilest possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion
du
point entre chaque expression ne génère aucune listedéroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
aprèsle premier point "thisworkbook" et est absent pourle reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettentà cette liste déroulante d'apparaître lorsque l'onsaisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie ducode...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / ongletÉditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans
un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à
cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente
!!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:OgcjWklpEHA.2032@TK2MSFTNGP10.phx.gbl...
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OUeYHLlpEHA.1300@TK2MSFTNGP12.phx.gbl...
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans
un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à
cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente
!!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans
un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à
cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente
!!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Il
ne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nom
utilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela ne
l'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" a écrit dans le
message de
news:
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a priori
si
l'objet existe ou non, car il interprétera l'index à l'exécution. Comme un
worksheet pourrait avoir des propriétés ou procédures particulières ( hors
du jeu standard des propriétés et méthodes définies par Excel), l'éditeur
ne
sait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cet
objet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" a écrit dans le message de
news:Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du toutavec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
une
variable objet intermédiaire que tu supprimeensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'ilest possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune listedéroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
après
le premier point "thisworkbook" et est absent pourle reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettent
à cette liste déroulante d'apparaître lorsque l'onsaisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie ducode...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / ongletÉditeur est effectivement cochée.
Salutations!
Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Il
ne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nom
utilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela ne
l'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> a écrit dans le
message de
news:utGY4JmpEHA.3244@tk2msftngp13.phx.gbl...
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a priori
si
l'objet existe ou non, car il interprétera l'index à l'exécution. Comme un
worksheet pourrait avoir des propriétés ou procédures particulières ( hors
du jeu standard des propriétés et méthodes définies par Excel), l'éditeur
ne
sait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cet
objet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:e5jyD3lpEHA.556@TK2MSFTNGP09.phx.gbl...
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du tout
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !
;-))
Salutations!
"Alain CROS" <Personne@ICI> a écrit dans le message de
news:OgcjWklpEHA.2032@TK2MSFTNGP10.phx.gbl...
Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
une
variable objet intermédiaire que tu supprime
ensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OUeYHLlpEHA.1300@TK2MSFTNGP12.phx.gbl...
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention
!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettent
à cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie du
code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour Pierre,
Cela fait un certain sens !! ;-))
Et si j'écris dans un module standard :
Worksheets(1).range("A1").Interior.Colorindex =5 , aucune liste suggéré
pour les les "points" de la ligne de code.
Si j'écris seulement dans un module standard :
range("A1").Interior.Colorindex =5 'Excel me propose une liste
déroulante pour tous les points.
Comment expliquer le fait de donner le nom de la feuille à laquelle
appartient l'objet "Range" semble "troubler" excel. Il
ne semble pas avoir de problème en l'absence de l'objet feuille.
Un autre petit exemple :
Si j'écris dans un module standard :
Shapes("toto"). aucune liste dérolante
Si j'écris la même chose dans une feuille module
Shapes("toto"). Une liste est suggérée ... même si aucune "Shape"
n'existe dans la dite feuille ... peu importe le nom
utilisé pour la "shape".
Je suppose qu'excel ne peut pas savoir là aussi, avant l'exécution de la
procédure, si la "Shape" existe ...mais cela ne
l'empêche pas de m'afficher la liste déroulante à la saisie !
Tu as une explication ? Merci.
Salutations!
"Pierre Fauconnier" a écrit dans le
message de
news:
Bonsoir Michel
Lorsque tu utilises l'index pour un worksheet, Excel ne sait pas a priori
si
l'objet existe ou non, car il interprétera l'index à l'exécution. Comme un
worksheet pourrait avoir des propriétés ou procédures particulières ( hors
du jeu standard des propriétés et méthodes définies par Excel), l'éditeur
ne
sait pas afficher de liste.
Par contre, lorsque tu utilises le codename de l'objet, Excel "voit" que
cet
objet existe et peut donc t'afficher la liste des méthodes et propriétés
propres à cet objet.
Au niveau de l'exécution, il y a un temps plus long d'exécution lorsque tu
utilises worksheets(1) ou worksheets("Feuil1") que lorsque tu utilises
Feuil1 directement, car Excel doit vérifier la syntaxe à l'exécution dans
les deux premiers cas alors qu'il le fait au lancement de la macro dans le
troisième cas.
Cela convient-il?
--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"michdenis" a écrit dans le message de
news:Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un Worksheet "
Comment une feuille de calcul "Worksheet" devient une feuille graphique
"Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets et non
Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie parfaitement
l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier clairement ce qu'est
"ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ? Pourquoi excel
cela fonctionne très bien avec l'un et pas du toutavec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des variables objet
... mais cela ne faisait pas parti de ma question !;-))
Salutations!
"Alain CROS" a écrit dans le message de
news:Bonjour
La liste n'est obtenue que lorsqu'Excel identifie parfaitement l'objet.
Version 1 : l'objet Worksheets(2) peut être un Chart ou un Worksheet -->
pas de liste
Version 2 : même chose que version 1
Version 3 : Feuil1 est ici le CodeName donc Worksheet
Lors de l'écriture du code, pour obtenir la liste, tu peux passer par
une
variable objet intermédiaire que tu supprimeensuite.
'----------Version 2------------------------
Dim Ws As Worksheet
Set Ws = ThisWorkbook.Worksheets("Feuil1")
With Ws
.Range("A5").Interior.ColorIndex = 5
End With
Alain CROS
"michdenis" a écrit dans le message de news:
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié
dans un module standard. Il y a plein d'exemples qu'ilest possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention!
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune listedéroulante à partir de laquelle on peut choisir la méthode ou la
propriété désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement
après
le premier point "thisworkbook" et est absent pourle reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque
point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui
permettent
à cette liste déroulante d'apparaître lorsque l'onsaisit du code.
Je suppose que la connaissance de ces principes devraient amener à
prédire le comportement d'excel lors de la saisie ducode...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être
évidente !!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / ongletÉditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans
un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention !
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété
désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à
cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire
le comportement d'excel lors de la saisie du code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente
!!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans
un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention !
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété
désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à
cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire
le comportement d'excel lors de la saisie du code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente
!!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
Bonjour à tous et à toutes,
Voici 3 bouts de code qui accomplissent la même chose que j'ai copié dans
un module standard. Il y a plein d'exemples qu'il
est possible de formuler dans d'autres types de module. Les exemples
retenues ne le sont pour les fins de mon intervention !
'----------Version 1------------------------
With Worksheets(2)
.Range("A5").Interior.ColorIndex = 5
End With
'----------Version 2------------------------
ThisWorkbook.Worksheets("Feuil1").Range("A5").Interior.ColorIndex = 5
'----------Version 3------------------------
With Feuil1
.Range("A5").Interior.ColorIndex = 5
End With
Dans "La Version 1" :
Lors de la saisie du code manuellement dans le module, l'insertion du
point entre chaque expression ne génère aucune liste
déroulante à partir de laquelle on peut choisir la méthode ou la propriété
désirée pour compléter la ligne de code
Dans La "Version 2", cette liste déroulante est offerte seulement après
le premier point "thisworkbook" et est absent pour
le reste de la ligne
Dans la "Version 3" , la liste déroulante est offerte à chaque point(.)
inséré dans la ligne de code
Ma question est toute simple :
Est-ce que quelqu'un connaît le ou les principes d'usage qui permettent à
cette liste déroulante d'apparaître lorsque l'on
saisit du code.
Je suppose que la connaissance de ces principes devraient amener à prédire
le comportement d'excel lors de la saisie du code
...et faciliter par la même occasion l'écriture d'une macro.
À une question toute simple, je suppose que la réponse doit être évidente
!!!
Merci d'avance à ceux et à celles qui se pencheront sur la question.
P.S. L'option "Complément du code" dans la fenêtre VBE(visual basic
editor) /barre des menus / outils / options / onglet
Éditeur est effectivement cochée.
Salutations!
-----Message d'origine-----
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un
Worksheet "
Comment une feuille de calcul "Worksheet" devient une
feuille graphique "Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets
et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie
parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier
clairement ce qu'est "ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ?
Pourquoi excel cela fonctionne très bien avec l'un et pas
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des
variables objet ... mais cela ne faisait pas parti de ma
;-))
Salutations!
-----Message d'origine-----
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un
Worksheet "
Comment une feuille de calcul "Worksheet" devient une
feuille graphique "Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets
et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie
parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier
clairement ce qu'est "ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ?
Pourquoi excel cela fonctionne très bien avec l'un et pas
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des
variables objet ... mais cela ne faisait pas parti de ma
;-))
Salutations!
-----Message d'origine-----
Bonjour Alain,
Merci pour cette réponse .
A )
" l'objet Worksheets(2) peut être un Chart ou un
Worksheet "
Comment une feuille de calcul "Worksheet" devient une
feuille graphique "Chart"... je ne saisis pas !
Par contre, "Chart" fait parti de la collection Sheets
et non Worksheets
B )
" La liste n'est obtenue que lorsqu'Excel identifie
parfaitement l'objet"
Dans une expression comme celle-ci :
ActiveSheet. ..... il n'y a pas de liste déroulante
Est-ce à dire qu'excel ne réussit pas à identifier
clairement ce qu'est "ActiveSheet"
C )
" Feuil1 est ici le CodeName donc Worksheet "
Quelle différence entre Feuil1 et Worksheets("Feuil1") ?
Pourquoi excel cela fonctionne très bien avec l'un et pas
avec l'autre ? C'était là le sens de ma question !
D ) Je suis d'accord avec toi quant à l'utilisation des
variables objet ... mais cela ne faisait pas parti de ma
;-))
Salutations!