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

VBA et Enum

8 réponses
Avatar
Patrick
Bonjour,

En ayant créé une énumération, y a-t-il un moyen de connaître sa valeur
maximum avec du code VBA ? Je l'utiliserais pour faire une boucle sur
l'ensemble des valeurs.

Merci pour votre aide.

--
Patrick

8 réponses

Avatar
isabelle
bonjour Patrick,

oui, par exemple :

MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
For i = 0 To 10
x = MaListe(i)
Next

isabelle

Patrick a écrit :
Bonjour,

En ayant créé une énumération, y a-t-il un moyen de connaître sa valeur
maximum avec du code VBA ? Je l'utiliserais pour faire une boucle sur
l'ensemble des valeurs.

Merci pour votre aide.




Avatar
Patrick
Merci pour ta réponse mais ce que j'aimerais trouver c'est la valeur maximum
d'une énumération. Par exemple :

Enum MonEnumeration
Valeur1 = 0
Valeur2
Valeur3
End Enum

J'aimerais pouvoir retrouver la dernière valeur, dans ce cas c'est 2. Le but
est que si j'ajoute par la suite une valeur, je ne veux pas modifier le reste
du code. Mais je ne suis pas sûr que c'est possible.

Merci.

--
Patrick


"isabelle" wrote:

bonjour Patrick,

oui, par exemple :

MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
For i = 0 To 10
x = MaListe(i)
Next

isabelle

Patrick a écrit :
> Bonjour,
>
> En ayant créé une énumération, y a-t-il un moyen de connaître sa valeur
> maximum avec du code VBA ? Je l'utiliserais pour faire une boucle sur
> l'ensemble des valeurs.
>
> Merci pour votre aide.
>
>



Avatar
JLuc
Ce ne serait pas :
Dernier = Ubound(MonEnumération)

des fois ?

Patrick a écrit :
Merci pour ta réponse mais ce que j'aimerais trouver c'est la valeur maximum
d'une énumération. Par exemple :

Enum MonEnumeration
Valeur1 = 0
Valeur2
Valeur3
End Enum

J'aimerais pouvoir retrouver la dernière valeur, dans ce cas c'est 2. Le but
est que si j'ajoute par la suite une valeur, je ne veux pas modifier le reste
du code. Mais je ne suis pas sûr que c'est possible.

Merci.

--
Patrick


"isabelle" wrote:

bonjour Patrick,

oui, par exemple :

MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
For i = 0 To 10
x = MaListe(i)
Next

isabelle

Patrick a écrit :
Bonjour,

En ayant créé une énumération, y a-t-il un moyen de connaître sa valeur
maximum avec du code VBA ? Je l'utiliserais pour faire une boucle sur
l'ensemble des valeurs.

Merci pour votre aide.










--
JLuc
« Celui qui trouve sans chercher est celui qui a longtemps cherché
sans trouver. » - Gaston BACHELARD
Avatar
JB
Bonsoir,

a = Array(5, 3, 2, 7, 1)
x = Application.Max(a)

JB
http://boisgontierjacques.free.fr/

On 8 mai, 21:47, Patrick wrote:
Merci pour ta réponse mais ce que j'aimerais trouver c'est la valeur ma ximum
d'une énumération. Par exemple :

Enum MonEnumeration
    Valeur1 = 0
    Valeur2
    Valeur3
End Enum

J'aimerais pouvoir retrouver la dernière valeur, dans ce cas c'est 2. L e but
est que si j'ajoute par la suite une valeur, je ne veux pas modifier le r este
du code. Mais je ne suis pas sûr que c'est possible.

Merci.

--
Patrick



"isabelle" wrote:
> bonjour Patrick,

> oui, par exemple  :

> MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
> For i = 0 To 10
> x = MaListe(i)
> Next

> isabelle

> Patrick a écrit :
> > Bonjour,

> > En ayant créé une énumération, y a-t-il un moyen de connaît re sa valeur
> > maximum avec du code VBA ? Je l'utiliserais pour faire une boucle sur
> > l'ensemble des valeurs.

> > Merci pour votre aide.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
JLuc
Erreur, avec une enumeration, on ne peut pas avoir accès au nombre de
valeurs. On ne peut utiliser que : MonEnumeration.Valeur1
Ubound donne le dernier élément d'un tableau. Pour reprendre la liste
d'Isabelle :

MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
For x = 0 To UBound(MaListe)
MsgBox MaListe(x)
Next



Patrick a écrit :
Merci pour ta réponse mais ce que j'aimerais trouver c'est la valeur maximum
d'une énumération. Par exemple :

Enum MonEnumeration
Valeur1 = 0
Valeur2
Valeur3
End Enum

J'aimerais pouvoir retrouver la dernière valeur, dans ce cas c'est 2. Le but
est que si j'ajoute par la suite une valeur, je ne veux pas modifier le reste
du code. Mais je ne suis pas sûr que c'est possible.

Merci.

--
Patrick


"isabelle" wrote:

bonjour Patrick,

oui, par exemple :

MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
For i = 0 To 10
x = MaListe(i)
Next

isabelle

Patrick a écrit :
Bonjour,

En ayant créé une énumération, y a-t-il un moyen de connaître sa valeur
maximum avec du code VBA ? Je l'utiliserais pour faire une boucle sur
l'ensemble des valeurs.

Merci pour votre aide.










--
JLuc
« Celui qui trouve sans chercher est celui qui a longtemps cherché
sans trouver. » - Gaston BACHELARD
Avatar
isabelle
et pourtant la macro suivante retourne bien la valeur 10 dans le MsgBox,

Sub Macro1()
Dim MaListe
Dim ml
MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
'For i = 0 To 10 ou bien
For Each ml In MaListe
x = MaListe(i)
Next
MsgBox Application.Max(MaListe)
End Sub

isabelle

JLuc a écrit :
Erreur, avec une enumeration, on ne peut pas avoir accès au nombre de
valeurs. On ne peut utiliser que : MonEnumeration.Valeur1
Ubound donne le dernier élément d'un tableau. Pour reprendre la liste
d'Isabelle :

MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
For x = 0 To UBound(MaListe)
MsgBox MaListe(x)
Next



Patrick a écrit :
Merci pour ta réponse mais ce que j'aimerais trouver c'est la valeur
maximum d'une énumération. Par exemple :

Enum MonEnumeration
Valeur1 = 0
Valeur2
Valeur3
End Enum

J'aimerais pouvoir retrouver la dernière valeur, dans ce cas c'est 2.
Le but est que si j'ajoute par la suite une valeur, je ne veux pas
modifier le reste du code. Mais je ne suis pas sûr que c'est possible.

Merci.

--
Patrick


"isabelle" wrote:

bonjour Patrick,

oui, par exemple :

MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
For i = 0 To 10
x = MaListe(i)
Next

isabelle

Patrick a écrit :
Bonjour,

En ayant créé une énumération, y a-t-il un moyen de connaître sa
valeur maximum avec du code VBA ? Je l'utiliserais pour faire une
boucle sur l'ensemble des valeurs.

Merci pour votre aide.












Avatar
JLuc
Exact Isabelle, mais Patrick cherche a avoir la "Dernière" valeur de la
liste

;o)

isabelle a écrit :
et pourtant la macro suivante retourne bien la valeur 10 dans le MsgBox,

Sub Macro1()
Dim MaListe
Dim ml
MaListe = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "zaza")
'For i = 0 To 10 ou bien
For Each ml In MaListe
x = MaListe(i)
Next
MsgBox Application.Max(MaListe)
End Sub

isabelle



--
JLuc
« Celui qui trouve sans chercher est celui qui a longtemps cherché
sans trouver. » - Gaston BACHELARD
Avatar
MichDenis
| Patrick cherche a avoir la "Dernière" valeur de la

MsgBox MaListe(ubound(MaListe)) devrait être suffisant !