Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boucle sur 07-2009 / 08-2009 etc...

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ConsultantJP

XLDnaute Occasionnel
Bonjour,

Je me retrouve dedans une petite problematique sur laquelle je ne trouve pas de solution.

Sur un fichier excel, dans la colonne A, j'ai toute les dates.

En VBA, je récuperer le min et le max de ces dates, puis le mois-année via ce résultat.

Je souhaite ensuite faire une boucle de type

For i = MoisduMin (07-2009) to MoisduMAX (02-2010)

et ce résultat allant renseigner une feuille excel, ligne par ligne.

Je peux faire fonctionner le for i sur les deux premiere chiffre mais la je bug surtout si on se retrouve à cheval sur 2 année comme dans mon excel, je en sais pas comment le faire compter jusqu'a 12 puis repartir sur du 01 et changer l'année....

Une idée ?
 
Re : Boucle sur 07-2009 / 08-2009 etc...

Bonjour,

Je ne sait pas si ça peut t'aider, mais as-tu pensé à convertir ton format (date) en format texte :

Code:
Format Date  => Format texte
   07-2009    =>     39995
   02-2010    =>     40210
A vrai dire je n'ai pas testé. Mais essayer toujours. Et tiens nous au courant.
 
Re : Boucle sur 07-2009 / 08-2009 etc...

En farafouillant dans mes macros, j'ai trouvé un bout de code (pas très joli, mais ça fonctionne) qui arrive à déterminer les jours -4/-3/-2/-1 par rapport à la date d'aujourd'hui.

Peux-être pourra-tu l'adapter pour passser de mois en mois et mes d'années en années.

Code:
Dim DateJourRU1 As String, DateJourRU2 As String, DateJourRU3 As String, DateJourRU4 As String, _
Dim jour As Integer
Dim mois_courant As String


If Len(Month(Now)) <> 2 Then            'ajout d'un 0
    mois_courant = "0" & Month(Now)     'si le numéro du mois est compris entre 1 (janv) et 9 (Sept)
End If                                  'afin d'avoir un numéro de mois toujours sur 2 caractères

jour = Format(Date, "d")

DateJourRU1 = Year(Now) & "_" & mois_courant & "_" & Day(Now) - 1
DateJourRU2 = Year(Now) & "_" & mois_courant & "_" & Day(Now) - 2
DateJourRU3 = Year(Now) & "_" & mois_courant & "_" & Day(Now) - 3
DateJourRU4 = Year(Now) & "_" & mois_courant & "_" & Day(Now) - 4
            
If jour <= "4" Then
    If Len(Month(Now - 4)) <> 2 Then
        mois_courant = "0" & Month(Now - 4)
    End If
    DateJourRU4 = Year(Now - 4) & "_" & mois_courant & "_" & Day(Now - 4)
        If jour <= "3" Then
            If Len(Month(Now - 3)) <> 2 Then
                mois_courant = "0" & Month(Now - 3)
            End If
            DateJourRU3 = Year(Now - 3) & "_" & mois_courant & "_" & Day(Now - 3)
                If jour <= "2" Then
                    If Len(Month(Now - 2)) <> 2 Then
                        mois_courant = "0" & Month(Now - 2)
                    End If
                    DateJourRU2 = Year(Now - 2) & "_" & mois_courant & "_" & Day(Now - 2)
                        If jour = "1" Then
                    If Len(Month(Now - 1)) <> 2 Then
                        mois_courant = "0" & Month(Now - 1)
                    End If
                            DateJourRU1 = Year(Now - 1) & "_" & mois_courant & "_" & Day(Now - 1)
                        End If
                End If
        End If
End If

Je reste a l'écoute du fil et si j'arrive à le modifier avant toi je le posterai.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
690
Réponses
10
Affichages
544
Réponses
32
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…