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

questions pour comprendre quelques notions

5 réponses
Avatar
gil de lavergne
bonjour à tous,
je débute dans la création de macro
et j'ai du mal à apprendrer quelques notions qui pour vous doivent être
simple :)
la 1er :
je n'ai pas trouvé d'explication dans l'aide vba au sujet de l'opérateur (
je crois que cela s'appelle comme cela) " := "
j'ai cru comprendre que c'était pour les paramètres comment cela se nomme
t-il et quand l'utiliser

la 2ème:
j'ai du mal à comprendre la différence entre l'objet Range() et Cells() (je
sais que le premier correspond à plage et le deuxième à cellule)
mais je n'arrive pas à comprendre quand on utilise plutôt le premier ou
plutôt le second dans une procedure

la 3ème ;
la différence entre la barre à outils Formulaire et Boite à outils
contrôles c'est à dire quand faut-il mieux avoir recours aux boutons de la
première barre et quand faut-il utiliser les boutons de la seconde
ce que je crois avoir compris est que la Boite à outils contrôles sert pour
les userform et la barre à outils Formulaire pour mettre des boutons sur la
feuille

merci par avance de votre indulgence pour mon incompréhension de ces notions

cordialement
gil de lavergne

5 réponses

Avatar
anonymousA
bonjour,

sans avoir la prétention de faire un cours, peut-être quelques
élcaircissements

1-l'opérateur := est utilisé dans la définiton des paramètres de
méthodes VBA et à ma connaissance exclusivment dans ce cas. Pour ce qui
est de son nom,si d'ailleurs il en porte un, aucune idée.
exemple
With Sheets("Feuil1")
.EnableAutoFilter = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With

2-La classe d'objet Range représente une plage de cellules et est sans
doute l'une des classes les plus riches du modèle d'objet de VBA.
Cells est une propriété de classe d'objet ( classes d'objets
Application,Worksheets, range,etc..).
Compte tenu de la grande souplesse de VBA , tu peux à peu près tout
faire ce que fait Range avec Cells.Très souvent, on utilise Range quand
il s'agit d'une plage multicellulaire mais ce n'est pas une obligation
absolue. Avec Cells directement ( en dehors de l'utilisation de la
méthode Union mais qui a ses limites), il te sera plus complexe et pas
forcément utile de déclarer une plage multicellulaire).
Pour la différence entre les 2, je te renvoie à l'aide de VBA de l'objet
Range qui est très bien faite et donne des exemples.

'au moins 7 exemples différents d'affecter une plage de cellules avec
l'objet range ou evaluate mais il y a en a d'autres:
Set Plage = Range("A1:A8")
Set Plage = [A1:A8]
nombre = 8: Set Plage = Evaluate("A1:" & "A" & nombre)
i = 1: j = 10: Set Plage = Sheets(2).Evaluate("A1:K" & i & j) 'selection
de la plage A1:A110
Set Plage = Range("A1:A" & 8)
Set Plage = Range(Cells(1, 1), Cells(10, 1))
Set Plage = Range(Cells(1), Cells(8)) 'revient dans une zone donnée à
selectionner les 8 premières cellules avec un parcours de numérotation
de la gauche vers la droite
Set Plage = Range("Feuil2!$A$1:$A$8") ' si on veut désigner une plage
directement avec sa feuille d'origine

3-La barre d'outils formulaires et la barre d'outils controles
cohabitent dans Excel mais la grande différence entre les deux tient à
la richesse des propriétés et des evenements gérés par la barre d'outils
controles en comparaison de ceux de la barre d'outils formulaires.Tu
peux utiliser les objets de la barre d'outils controles sur une feuille
du classeur et pas seulement sur un userform.
En réalité, dire si et quand il faut utiliser l'une ou l'autre est un
peu difficile car ca peut dépendre de ton besoin. Si tu as besoin de
choses simples, les controles de la BO formulaires suffisent.

J'espère avoir pu t'éclairer un peu, mais rine ne vaut d'essayer et de
bidouiller en prenant le soin de lire l'aide de VBA. PAr alleurs, il
existe d'excellents sites d'explication. Tu pourras en trouver les liens
sur le site Excelabo notamment.

Bon courage

A+

bonjour à tous,
je débute dans la création de macro
et j'ai du mal à apprendrer quelques notions qui pour vous doivent être
simple :)
la 1er :
je n'ai pas trouvé d'explication dans l'aide vba au sujet de l'opérateur (
je crois que cela s'appelle comme cela) " := "
j'ai cru comprendre que c'était pour les paramètres comment cela se nomme
t-il et quand l'utiliser

la 2ème:
j'ai du mal à comprendre la différence entre l'objet Range() et Cells() (je
sais que le premier correspond à plage et le deuxième à cellule)
mais je n'arrive pas à comprendre quand on utilise plutôt le premier ou
plutôt le second dans une procedure

la 3ème ;
la différence entre la barre à outils Formulaire et Boite à outils
contrôles c'est à dire quand faut-il mieux avoir recours aux boutons de la
première barre et quand faut-il utiliser les boutons de la seconde
ce que je crois avoir compris est que la Boite à outils contrôles sert pour
les userform et la barre à outils Formulaire pour mettre des boutons sur la
feuille

merci par avance de votre indulgence pour mon incompréhension de ces notions

cordialement
gil de lavergne




Avatar
gil de lavergne
merci beaucoup pour ton exposé très clair qui me permets de mieux
apprehendre l'univers vba
gil de lavergne
"anonymousA" a écrit dans le message de news:
4305c5f4$0$926$
bonjour,

sans avoir la prétention de faire un cours, peut-être quelques
élcaircissements

1-l'opérateur := est utilisé dans la définiton des paramètres de méthodes
VBA et à ma connaissance exclusivment dans ce cas. Pour ce qui est de son
nom,si d'ailleurs il en porte un, aucune idée.
exemple
With Sheets("Feuil1")
.EnableAutoFilter = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With

2-La classe d'objet Range représente une plage de cellules et est sans
doute l'une des classes les plus riches du modèle d'objet de VBA.
Cells est une propriété de classe d'objet ( classes d'objets
Application,Worksheets, range,etc..).
Compte tenu de la grande souplesse de VBA , tu peux à peu près tout faire
ce que fait Range avec Cells.Très souvent, on utilise Range quand il
s'agit d'une plage multicellulaire mais ce n'est pas une obligation
absolue. Avec Cells directement ( en dehors de l'utilisation de la méthode
Union mais qui a ses limites), il te sera plus complexe et pas forcément
utile de déclarer une plage multicellulaire).
Pour la différence entre les 2, je te renvoie à l'aide de VBA de l'objet
Range qui est très bien faite et donne des exemples.

'au moins 7 exemples différents d'affecter une plage de cellules avec
l'objet range ou evaluate mais il y a en a d'autres:
Set Plage = Range("A1:A8")
Set Plage = [A1:A8]
nombre = 8: Set Plage = Evaluate("A1:" & "A" & nombre)
i = 1: j = 10: Set Plage = Sheets(2).Evaluate("A1:K" & i & j) 'selection
de la plage A1:A110
Set Plage = Range("A1:A" & 8)
Set Plage = Range(Cells(1, 1), Cells(10, 1))
Set Plage = Range(Cells(1), Cells(8)) 'revient dans une zone donnée à
selectionner les 8 premières cellules avec un parcours de numérotation de
la gauche vers la droite
Set Plage = Range("Feuil2!$A$1:$A$8") ' si on veut désigner une plage
directement avec sa feuille d'origine

3-La barre d'outils formulaires et la barre d'outils controles cohabitent
dans Excel mais la grande différence entre les deux tient à la richesse
des propriétés et des evenements gérés par la barre d'outils controles en
comparaison de ceux de la barre d'outils formulaires.Tu peux utiliser les
objets de la barre d'outils controles sur une feuille du classeur et pas
seulement sur un userform.
En réalité, dire si et quand il faut utiliser l'une ou l'autre est un peu
difficile car ca peut dépendre de ton besoin. Si tu as besoin de choses
simples, les controles de la BO formulaires suffisent.

J'espère avoir pu t'éclairer un peu, mais rine ne vaut d'essayer et de
bidouiller en prenant le soin de lire l'aide de VBA. PAr alleurs, il
existe d'excellents sites d'explication. Tu pourras en trouver les liens
sur le site Excelabo notamment.

Bon courage

A+

bonjour à tous,
je débute dans la création de macro
et j'ai du mal à apprendrer quelques notions qui pour vous doivent être
simple :)
la 1er :
je n'ai pas trouvé d'explication dans l'aide vba au sujet de l'opérateur
( je crois que cela s'appelle comme cela) " := "
j'ai cru comprendre que c'était pour les paramètres comment cela se
nomme t-il et quand l'utiliser

la 2ème:
j'ai du mal à comprendre la différence entre l'objet Range() et Cells()
(je sais que le premier correspond à plage et le deuxième à cellule)
mais je n'arrive pas à comprendre quand on utilise plutôt le premier ou
plutôt le second dans une procedure

la 3ème ;
la différence entre la barre à outils Formulaire et Boite à outils
contrôles c'est à dire quand faut-il mieux avoir recours aux boutons de
la première barre et quand faut-il utiliser les boutons de la seconde
ce que je crois avoir compris est que la Boite à outils contrôles sert
pour les userform et la barre à outils Formulaire pour mettre des boutons
sur la feuille

merci par avance de votre indulgence pour mon incompréhension de ces
notions

cordialement
gil de lavergne





Avatar
Michel Pierron
Bonjour anonymousA;

En utilisant les arguments nommés, au lieu de fournir une valeur pour chaque
argument dans un ordre déterminé par la syntaxe, on peut assigner des
valeurs dans n'importe quel ordre. C'est valable pour toute procédure ou
fonction nécessitant un passage d'arguments.
Exemple:

Sub Test()
MsgBox FullName(Sep:=" - ", lastName:="MEZIG", firstName:="Michel")
End Sub

Private Function FullName(ByVal firstName$ _
, ByVal lastName$, Optional Sep$ = " ") As String
FullName = firstName & Sep & lastName
End Function

MP

"anonymousA" a écrit dans le message de news:
4305c5f4$0$926$
bonjour,

sans avoir la prétention de faire un cours, peut-être quelques
élcaircissements

1-l'opérateur := est utilisé dans la définiton des paramètres de
méthodes VBA et à ma connaissance exclusivment dans ce cas. Pour ce qui
est de son nom,si d'ailleurs il en porte un, aucune idée.
exemple
With Sheets("Feuil1")
.EnableAutoFilter = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With

2-La classe d'objet Range représente une plage de cellules et est sans
doute l'une des classes les plus riches du modèle d'objet de VBA.
Cells est une propriété de classe d'objet ( classes d'objets
Application,Worksheets, range,etc..).
Compte tenu de la grande souplesse de VBA , tu peux à peu près tout
faire ce que fait Range avec Cells.Très souvent, on utilise Range quand
il s'agit d'une plage multicellulaire mais ce n'est pas une obligation
absolue. Avec Cells directement ( en dehors de l'utilisation de la
méthode Union mais qui a ses limites), il te sera plus complexe et pas
forcément utile de déclarer une plage multicellulaire).
Pour la différence entre les 2, je te renvoie à l'aide de VBA de l'objet
Range qui est très bien faite et donne des exemples.

'au moins 7 exemples différents d'affecter une plage de cellules avec
l'objet range ou evaluate mais il y a en a d'autres:
Set Plage = Range("A1:A8")
Set Plage = [A1:A8]
nombre = 8: Set Plage = Evaluate("A1:" & "A" & nombre)
i = 1: j = 10: Set Plage = Sheets(2).Evaluate("A1:K" & i & j) 'selection
de la plage A1:A110
Set Plage = Range("A1:A" & 8)
Set Plage = Range(Cells(1, 1), Cells(10, 1))
Set Plage = Range(Cells(1), Cells(8)) 'revient dans une zone donnée à
selectionner les 8 premières cellules avec un parcours de numérotation
de la gauche vers la droite
Set Plage = Range("Feuil2!$A$1:$A$8") ' si on veut désigner une plage
directement avec sa feuille d'origine

3-La barre d'outils formulaires et la barre d'outils controles
cohabitent dans Excel mais la grande différence entre les deux tient à
la richesse des propriétés et des evenements gérés par la barre d'outils
controles en comparaison de ceux de la barre d'outils formulaires.Tu
peux utiliser les objets de la barre d'outils controles sur une feuille
du classeur et pas seulement sur un userform.
En réalité, dire si et quand il faut utiliser l'une ou l'autre est un
peu difficile car ca peut dépendre de ton besoin. Si tu as besoin de
choses simples, les controles de la BO formulaires suffisent.

J'espère avoir pu t'éclairer un peu, mais rine ne vaut d'essayer et de
bidouiller en prenant le soin de lire l'aide de VBA. PAr alleurs, il
existe d'excellents sites d'explication. Tu pourras en trouver les liens
sur le site Excelabo notamment.

Bon courage

A+

bonjour à tous,
je débute dans la création de macro
et j'ai du mal à apprendrer quelques notions qui pour vous doivent être
simple :)
la 1er :
je n'ai pas trouvé d'explication dans l'aide vba au sujet de l'opérateur
(


je crois que cela s'appelle comme cela) " := "
j'ai cru comprendre que c'était pour les paramètres comment cela se
nomme


t-il et quand l'utiliser

la 2ème:
j'ai du mal à comprendre la différence entre l'objet Range() et Cells()
(je


sais que le premier correspond à plage et le deuxième à cellule)
mais je n'arrive pas à comprendre quand on utilise plutôt le premier ou
plutôt le second dans une procedure

la 3ème ;
la différence entre la barre à outils Formulaire et Boite à outils
contrôles c'est à dire quand faut-il mieux avoir recours aux boutons de
la


première barre et quand faut-il utiliser les boutons de la seconde
ce que je crois avoir compris est que la Boite à outils contrôles sert
pour


les userform et la barre à outils Formulaire pour mettre des boutons sur
la


feuille

merci par avance de votre indulgence pour mon incompréhension de ces
notions



cordialement
gil de lavergne






Avatar
anonymousA
bonjour,

effectivement,cette utilisation m'avait échappé.Merci de ta précision.

A+


Bonjour anonymousA;

En utilisant les arguments nommés, au lieu de fournir une valeur pour chaque
argument dans un ordre déterminé par la syntaxe, on peut assigner des
valeurs dans n'importe quel ordre. C'est valable pour toute procédure ou
fonction nécessitant un passage d'arguments.
Exemple:

Sub Test()
MsgBox FullName(Sep:=" - ", lastName:="MEZIG", firstName:="Michel")
End Sub

Private Function FullName(ByVal firstName$ _
, ByVal lastName$, Optional Sep$ = " ") As String
FullName = firstName & Sep & lastName
End Function

MP

"anonymousA" a écrit dans le message de news:
4305c5f4$0$926$
bonjour,

sans avoir la prétention de faire un cours, peut-être quelques
élcaircissements

1-l'opérateur := est utilisé dans la définiton des paramètres de
méthodes VBA et à ma connaissance exclusivment dans ce cas. Pour ce qui
est de son nom,si d'ailleurs il en porte un, aucune idée.
exemple
With Sheets("Feuil1")
.EnableAutoFilter = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With

2-La classe d'objet Range représente une plage de cellules et est sans
doute l'une des classes les plus riches du modèle d'objet de VBA.
Cells est une propriété de classe d'objet ( classes d'objets
Application,Worksheets, range,etc..).
Compte tenu de la grande souplesse de VBA , tu peux à peu près tout
faire ce que fait Range avec Cells.Très souvent, on utilise Range quand
il s'agit d'une plage multicellulaire mais ce n'est pas une obligation
absolue. Avec Cells directement ( en dehors de l'utilisation de la
méthode Union mais qui a ses limites), il te sera plus complexe et pas
forcément utile de déclarer une plage multicellulaire).
Pour la différence entre les 2, je te renvoie à l'aide de VBA de l'objet
Range qui est très bien faite et donne des exemples.

'au moins 7 exemples différents d'affecter une plage de cellules avec
l'objet range ou evaluate mais il y a en a d'autres:
Set Plage = Range("A1:A8")
Set Plage = [A1:A8]
nombre = 8: Set Plage = Evaluate("A1:" & "A" & nombre)
i = 1: j = 10: Set Plage = Sheets(2).Evaluate("A1:K" & i & j) 'selection
de la plage A1:A110
Set Plage = Range("A1:A" & 8)
Set Plage = Range(Cells(1, 1), Cells(10, 1))
Set Plage = Range(Cells(1), Cells(8)) 'revient dans une zone donnée à
selectionner les 8 premières cellules avec un parcours de numérotation
de la gauche vers la droite
Set Plage = Range("Feuil2!$A$1:$A$8") ' si on veut désigner une plage
directement avec sa feuille d'origine

3-La barre d'outils formulaires et la barre d'outils controles
cohabitent dans Excel mais la grande différence entre les deux tient à
la richesse des propriétés et des evenements gérés par la barre d'outils
controles en comparaison de ceux de la barre d'outils formulaires.Tu
peux utiliser les objets de la barre d'outils controles sur une feuille
du classeur et pas seulement sur un userform.
En réalité, dire si et quand il faut utiliser l'une ou l'autre est un
peu difficile car ca peut dépendre de ton besoin. Si tu as besoin de
choses simples, les controles de la BO formulaires suffisent.

J'espère avoir pu t'éclairer un peu, mais rine ne vaut d'essayer et de
bidouiller en prenant le soin de lire l'aide de VBA. PAr alleurs, il
existe d'excellents sites d'explication. Tu pourras en trouver les liens
sur le site Excelabo notamment.

Bon courage

A+

bonjour à tous,
je débute dans la création de macro
et j'ai du mal à apprendrer quelques notions qui pour vous doivent être
simple :)
la 1er :
je n'ai pas trouvé d'explication dans l'aide vba au sujet de l'opérateur
(


je crois que cela s'appelle comme cela) " := "
j'ai cru comprendre que c'était pour les paramètres comment cela se
nomme


t-il et quand l'utiliser

la 2ème:
j'ai du mal à comprendre la différence entre l'objet Range() et Cells()
(je


sais que le premier correspond à plage et le deuxième à cellule)
mais je n'arrive pas à comprendre quand on utilise plutôt le premier ou
plutôt le second dans une procedure

la 3ème ;
la différence entre la barre à outils Formulaire et Boite à outils
contrôles c'est à dire quand faut-il mieux avoir recours aux boutons de
la


première barre et quand faut-il utiliser les boutons de la seconde
ce que je crois avoir compris est que la Boite à outils contrôles sert
pour


les userform et la barre à outils Formulaire pour mettre des boutons sur
la


feuille

merci par avance de votre indulgence pour mon incompréhension de ces
notions



cordialement
gil de lavergne











Avatar
CBR
Bonjours
Moi j'utilise EXCEL 5 pour la création de macros
(création des macros en langue française, ça aide )
Puis une fois fini, j'ouvre avec EXCEL 2000 qui les traduit en anglais
reste plus qu'a retoucher quelques mots parfois qui sont mal traduits

Ah! macro quand tu nous tiens.........

CBR

"gil de lavergne" a écrit dans le message
de news: %
bonjour à tous,
je débute dans la création de macro
et j'ai du mal à apprendrer quelques notions qui pour vous doivent être
simple :)
........................

...................
................


merci par avance de votre indulgence pour mon incompréhension de ces
notions

cordialement
gil de lavergne