Fonction Array mais variable

Le
Michel MTO
Bonjour à toutes et à tous,

Je fais encore appel au forum, pour trouver une solution, sur une fonction
array vba, je m'explique :

j'utilise ce code :

an = Array("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009",
"Mai 2009", _
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
For m = 0 To 11
c = an(m)
If Worksheets(c).range.."condition" then "résultat"
Next m

Je cherche à remplacer
("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009", "Mai 2009", _
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
par des variables, il faudrait que je puisse récupérer le mois en toute
lettre (comme çi dessus) et l'année sur 4 chiffres (comme çi dessus), avec
un espace entre le mois et l'année.

Donc le code deviendrait quelquechose comme :
an = Array(mois1, mois2, mois3, mois4, mois5, mois6, mois7, mois8,
mois9, mois10, mois11, mois12)
For m = 0 To 11
c = an(m)
If Worksheets(c).range.."condition" then "résultat"
Next m

Est ce possible ? cela m'éviterait de modi fier mon code à chaque changement
d'année.

Merci pour votre aide

Michel MTO
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #19712791
Salut à toi

Tu pourrais mettre :

Année = Format(Date, "yyyy")
an = Array("Janvier " & Année, "Février " & Année, "Mars " & Année, "Avril "
& Année, "Mai " & Année, _
"Juin " & Année, "Juillet " & Année, "Août " & Année, "Septembre " & Année,
"Octobre " & Année, _
"Novembre " & Année, "Décembre " & Année)
For m = 0 To 11
c = an(m)
If Worksheets(c).range....."condition" then "résultat"
Next m

Celà devrait faire
Dis moi !!!!!
Fredo P.
Le #19713131
Bonjour
Pour une utilisation sur l'année en cours
Sub yaca()
an = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet",
_
"Août", "Septembre", "Octobre", "Novembre", "Décembre")
For m = 0 To 11
c = an(m) & " " & Year(Date)
' If Worksheets(c).range....."condition" then "résultat"

Next m
End Sub
Fredo P.
Le #19713281
Eh L'Jacky tu vas plus vite que ton ombre, tu postes pour demain? ou c'est
pour partir en vacance un jour plus tôt?
"Jacky" %23CIz5nt$
Bonjour,

Ou encore (avec l'année en cours sans changer le code)
'---------------
Sub jj()
Dim m(12)
For i = 1 To 12
m(i) = Application.Proper(Format(DateSerial(Year(Date), i, Day(Date)),
"mmmm yyyy"))
MsgBox m(i)
Next
End Sub
'----------------

--
Salutations
JJ


"Michel MTO" 4a52f7ba$0$292$
Bonjour à toutes et à tous,

Je fais encore appel au forum, pour trouver une solution, sur une
fonction
array vba, je m'explique :

j'utilise ce code :

an = Array("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009",
"Mai 2009", _
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
For m = 0 To 11
c = an(m)
If Worksheets(c).range....."condition" then "résultat"
Next m

Je cherche à remplacer
("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009", "Mai 2009", _
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
par des variables, il faudrait que je puisse récupérer le mois en toute
lettre (comme çi dessus) et l'année sur 4 chiffres (comme çi dessus),
avec
un espace entre le mois et l'année.

Donc le code deviendrait quelquechose comme :
an = Array(mois1, mois2, mois3, mois4, mois5, mois6, mois7, mois8,
mois9, mois10, mois11, mois12)
For m = 0 To 11
c = an(m)
If Worksheets(c).range....."condition" then "résultat"
Next m

Est ce possible ? cela m'éviterait de modi fier mon code à chaque
changement
d'année.

Merci pour votre aide

Michel MTO








Jacky
Le #19713591
Mais non, mais non, je n'ai plus droit aux vacances
C'est que j'ai bricolé sur un classeur qui lui, "travail"(encore) avec des
dates et bien sur j'ai oublié de mettre à jour avant de poster.

--
Salutations
JJ


"Fredo P." de news: OIoJSyt$
Eh L'Jacky tu vas plus vite que ton ombre, tu postes pour demain? ou c'est
pour partir en vacance un jour plus tôt?
"Jacky" %23CIz5nt$
Bonjour,

Ou encore (avec l'année en cours sans changer le code)
'---------------
Sub jj()
Dim m(12)
For i = 1 To 12
m(i) = Application.Proper(Format(DateSerial(Year(Date), i, Day(Date)),
"mmmm yyyy"))
MsgBox m(i)
Next
End Sub
'----------------

--
Salutations
JJ


"Michel MTO" 4a52f7ba$0$292$
Bonjour à toutes et à tous,

Je fais encore appel au forum, pour trouver une solution, sur une
fonction
array vba, je m'explique :

j'utilise ce code :

an = Array("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009",
"Mai 2009", _
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
For m = 0 To 11
c = an(m)
If Worksheets(c).range....."condition" then "résultat"
Next m

Je cherche à remplacer
("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009", "Mai 2009",
_
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
par des variables, il faudrait que je puisse récupérer le mois en toute
lettre (comme çi dessus) et l'année sur 4 chiffres (comme çi dessus),
avec
un espace entre le mois et l'année.

Donc le code deviendrait quelquechose comme :
an = Array(mois1, mois2, mois3, mois4, mois5, mois6, mois7, mois8,
mois9, mois10, mois11, mois12)
For m = 0 To 11
c = an(m)
If Worksheets(c).range....."condition" then "résultat"
Next m

Est ce possible ? cela m'éviterait de modi fier mon code à chaque
changement
d'année.

Merci pour votre aide

Michel MTO












Michel MTO
Le #19714241
Merci à tous pour la rapidité de vos réponses, même très très rapide cf
Fredo. ;-))

Je vais regarder toutes les solutions proposées et je reviens vers vous

Michel

"Jacky" news:%23tgtNNu$
Mais non, mais non, je n'ai plus droit aux vacances
C'est que j'ai bricolé sur un classeur qui lui, "travail"(encore) avec des
dates et bien sur j'ai oublié de mettre à jour avant de poster.

--
Salutations
JJ


"Fredo P."

message
de news: OIoJSyt$
> Eh L'Jacky tu vas plus vite que ton ombre, tu postes pour demain? ou


c'est
> pour partir en vacance un jour plus tôt?
> "Jacky" > %23CIz5nt$
>> Bonjour,
>>
>> Ou encore (avec l'année en cours sans changer le code)
>> '---------------
>> Sub jj()
>> Dim m(12)
>> For i = 1 To 12
>> m(i) = Application.Proper(Format(DateSerial(Year(Date), i, Day(Date)),
>> "mmmm yyyy"))
>> MsgBox m(i)
>> Next
>> End Sub
>> '----------------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Michel MTO" >> 4a52f7ba$0$292$
>>> Bonjour à toutes et à tous,
>>>
>>> Je fais encore appel au forum, pour trouver une solution, sur une
>>> fonction
>>> array vba, je m'explique :
>>>
>>> j'utilise ce code :
>>>
>>> an = Array("Janvier 2009", "Février 2009", "Mars 2009", "Avril


2009",
>>> "Mai 2009", _
>>> "Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009",


"Octobre
>>> 2009", _
>>> "Novembre 2009", "Décembre 2009")
>>> For m = 0 To 11
>>> c = an(m)
>>> If Worksheets(c).range....."condition" then "résultat"
>>> Next m
>>>
>>> Je cherche à remplacer
>>> ("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009", "Mai


2009",
>>> _
>>> "Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009",


"Octobre
>>> 2009", _
>>> "Novembre 2009", "Décembre 2009")
>>> par des variables, il faudrait que je puisse récupérer le mois en


toute
>>> lettre (comme çi dessus) et l'année sur 4 chiffres (comme çi dessus),
>>> avec
>>> un espace entre le mois et l'année.
>>>
>>> Donc le code deviendrait quelquechose comme :
>>> an = Array(mois1, mois2, mois3, mois4, mois5, mois6, mois7, mois8,
>>> mois9, mois10, mois11, mois12)
>>> For m = 0 To 11
>>> c = an(m)
>>> If Worksheets(c).range....."condition" then "résultat"
>>> Next m
>>>
>>> Est ce possible ? cela m'éviterait de modi fier mon code à chaque
>>> changement
>>> d'année.
>>>
>>> Merci pour votre aide
>>>
>>> Michel MTO
>>>
>>>
>>
>>
>
>




Jacky
Le #19713121
Bonjour,

Ou encore (avec l'année en cours sans changer le code)
'---------------
Sub jj()
Dim m(12)
For i = 1 To 12
m(i) = Application.Proper(Format(DateSerial(Year(Date), i, Day(Date)), "mmmm
yyyy"))
MsgBox m(i)
Next
End Sub
'----------------

--
Salutations
JJ


"Michel MTO" 4a52f7ba$0$292$
Bonjour à toutes et à tous,

Je fais encore appel au forum, pour trouver une solution, sur une fonction
array vba, je m'explique :

j'utilise ce code :

an = Array("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009",
"Mai 2009", _
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
For m = 0 To 11
c = an(m)
If Worksheets(c).range....."condition" then "résultat"
Next m

Je cherche à remplacer
("Janvier 2009", "Février 2009", "Mars 2009", "Avril 2009", "Mai 2009", _
"Juin 2009", "Juillet 2009", "Août 2009", "Septembre 2009", "Octobre
2009", _
"Novembre 2009", "Décembre 2009")
par des variables, il faudrait que je puisse récupérer le mois en toute
lettre (comme çi dessus) et l'année sur 4 chiffres (comme çi dessus), avec
un espace entre le mois et l'année.

Donc le code deviendrait quelquechose comme :
an = Array(mois1, mois2, mois3, mois4, mois5, mois6, mois7, mois8,
mois9, mois10, mois11, mois12)
For m = 0 To 11
c = an(m)
If Worksheets(c).range....."condition" then "résultat"
Next m

Est ce possible ? cela m'éviterait de modi fier mon code à chaque
changement
d'année.

Merci pour votre aide

Michel MTO




Publicité
Poster une réponse
Anonyme