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

pédagogie

5 réponses
Avatar
marianne puget
Bonjour et Bonne Année

A]_On a la possibilité d'écrire du code vbexcel soit:
1° dans un module
2° dans une feuille
3° dans thisworkbook
Question: Quels sont les éléments qui orientent l'ecriture du code dans ces
trois configuration?

B]L'affectation par un set:
Avez-vous une description simple d'utilisation?

Je vous remercie pour toute l'aide que vous m'avez apporté depuis le 8 de ce
mois
date à laquelle je me suis inscrite à ce forum

Je vous souhaite une tres bonne année,pleine de réusssite
Marianne

5 réponses

Avatar
JB
Bonjour,

A/
-Les procédures et fonctions dans un module peuvent être appelées à
partir tout endroit du classeur.
-Les procédures définies dans une feuille (Private) ne peuvent être
appelées qu'à partir de la feuille. Ce sont généralement des
procédures événementielles:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 1 And Target.Count = 1 Then
Target = Application.Proper(Target) ' traduit avec la première
lettre en majuscule.
End If
Application.EnableEvents = True
End Sub

-ThisWorkBook contient généralement des proc évenementielles:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If IsEmpty(Range("B1")) Then
MsgBox "saisir un nombre en B1"
Cancel = True
End If
End Sub


B/ Exemple d'utilisation de SET

Dim Monchamp As Range
Set Monchamp = Range("H2", Range("F1").End(xlDown).Offset(0, 2))
Monchamp.Sort Key1:=Range("h2"), Order1:=xlAscending

Cordialement JB
Avatar
Clément Marcotte
Bonjour,

Question: Quels sont les éléments qui orientent l'ecriture du code dans
ces
trois configuration?
2° dans une feuille
3° dans thisworkbook


Dans ces deux cas, c'est pour utiliser les "événements" qui surviennent soit
au niveau du classeur (donc pour n'importe quelle feuille). Par contre, un
événement à traiter dans une feuille particulière, doit être traité dans le
module de la feuille en question.

1° dans un module



On dit plus souvent un "module standard", parce que les feuilles, le
THisWorkBook et les UserForms ont aussi leur module. C'est le module le plus
utilisé. Il sert pour tout ce qui n'est pas des procédures d'événements.

B]L'affectation par un set:
Avez-vous une description simple d'utilisation?



Set sert, en quelque sorte, à désigner un objet quelconque sous la forme
d'une variable. Disons que tu veux faire un traitement sur la plage a1:a50
(un objet Range). Pour t'éviter de répéter range("a1:a50") à tout bout de
champ, tu peux utiliser une variable, nommée, disons JPS. ;-)

set JPS = range("a1:a50")

Ensuite, si tu veux effacer le contenu de la plage "a1:a50", tu peux
utiliser indifféremment:

JPS.clearcontents

ou

Range("a1:a50").clearcontents

Avatar
jps
sauf que moi, votre sainteté, on ne me clearcontente pas comme ça...surtout
un soir de réveillon et si je m'efface, clément, ce sera pour te laisser
entrer le premier dans le caveau...
jps

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Question: Quels sont les éléments qui orientent l'ecriture du code dans
ces
trois configuration?
2° dans une feuille
3° dans thisworkbook


Dans ces deux cas, c'est pour utiliser les "événements" qui surviennent
soit au niveau du classeur (donc pour n'importe quelle feuille). Par
contre, un événement à traiter dans une feuille particulière, doit être
traité dans le module de la feuille en question.

1° dans un module



On dit plus souvent un "module standard", parce que les feuilles, le
THisWorkBook et les UserForms ont aussi leur module. C'est le module le
plus utilisé. Il sert pour tout ce qui n'est pas des procédures
d'événements.

B]L'affectation par un set:
Avez-vous une description simple d'utilisation?



Set sert, en quelque sorte, à désigner un objet quelconque sous la forme
d'une variable. Disons que tu veux faire un traitement sur la plage a1:a50
(un objet Range). Pour t'éviter de répéter range("a1:a50") à tout bout de
champ, tu peux utiliser une variable, nommée, disons JPS. ;-)

set JPS = range("a1:a50")

Ensuite, si tu veux effacer le contenu de la plage "a1:a50", tu peux
utiliser indifféremment:

JPS.clearcontents

ou

Range("a1:a50").clearcontents






Avatar
Clément Marcotte
C'est parce que je savais que ton huitième sens te ferait venir. ;-)

Bonne année, bonne santé et de bonnes vendanges.
"jps" a écrit dans le message de news:
u0v$
sauf que moi, votre sainteté, on ne me clearcontente pas comme
ça...surtout un soir de réveillon et si je m'efface, clément, ce sera pour
te laisser entrer le premier dans le caveau...
jps

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Question: Quels sont les éléments qui orientent l'ecriture du code dans
ces
trois configuration?
2° dans une feuille
3° dans thisworkbook


Dans ces deux cas, c'est pour utiliser les "événements" qui surviennent
soit au niveau du classeur (donc pour n'importe quelle feuille). Par
contre, un événement à traiter dans une feuille particulière, doit être
traité dans le module de la feuille en question.

1° dans un module



On dit plus souvent un "module standard", parce que les feuilles, le
THisWorkBook et les UserForms ont aussi leur module. C'est le module le
plus utilisé. Il sert pour tout ce qui n'est pas des procédures
d'événements.

B]L'affectation par un set:
Avez-vous une description simple d'utilisation?



Set sert, en quelque sorte, à désigner un objet quelconque sous la forme
d'une variable. Disons que tu veux faire un traitement sur la plage
a1:a50 (un objet Range). Pour t'éviter de répéter range("a1:a50") à tout
bout de champ, tu peux utiliser une variable, nommée, disons JPS. ;-)

set JPS = range("a1:a50")

Ensuite, si tu veux effacer le contenu de la plage "a1:a50", tu peux
utiliser indifféremment:

JPS.clearcontents

ou

Range("a1:a50").clearcontents









Avatar
jps
:-))))))))))
jps

"Clément Marcotte" a écrit dans le message
de news:
C'est parce que je savais que ton huitième sens te ferait venir. ;-)

Bonne année, bonne santé et de bonnes vendanges.
"jps" a écrit dans le message de news:
u0v$
sauf que moi, votre sainteté, on ne me clearcontente pas comme
ça...surtout un soir de réveillon et si je m'efface, clément, ce sera
pour


te laisser entrer le premier dans le caveau...
jps

"Clément Marcotte" a écrit dans le
message


de news:
Bonjour,

Question: Quels sont les éléments qui orientent l'ecriture du code
dans




ces
trois configuration?
2° dans une feuille
3° dans thisworkbook


Dans ces deux cas, c'est pour utiliser les "événements" qui surviennent
soit au niveau du classeur (donc pour n'importe quelle feuille). Par
contre, un événement à traiter dans une feuille particulière, doit être
traité dans le module de la feuille en question.

1° dans un module



On dit plus souvent un "module standard", parce que les feuilles, le
THisWorkBook et les UserForms ont aussi leur module. C'est le module le
plus utilisé. Il sert pour tout ce qui n'est pas des procédures
d'événements.

B]L'affectation par un set:
Avez-vous une description simple d'utilisation?



Set sert, en quelque sorte, à désigner un objet quelconque sous la
forme



d'une variable. Disons que tu veux faire un traitement sur la plage
a1:a50 (un objet Range). Pour t'éviter de répéter range("a1:a50") à
tout



bout de champ, tu peux utiliser une variable, nommée, disons JPS. ;-)

set JPS = range("a1:a50")

Ensuite, si tu veux effacer le contenu de la plage "a1:a50", tu peux
utiliser indifféremment:

JPS.clearcontents

ou

Range("a1:a50").clearcontents