For each et liste [Résolu]

Signaler
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014
-
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014
-
Bonjour

Je suis en train d'améliorer mon code afin de le simplifié, cependant je bloque à un endroits.

Voici ce que je souhaite faire, j'ai 10 fois le code ci dessous pour 10 listes différents.

Je ne souhaite pas faire une fonction mais plutot mettre ce code dans un for each et faire un tableau de liste.

J'ai tenté avec des array, ... mais je n'y arrive pas j'ai des type incompatible et d'autre erreurs.

 Do      If ((tmp_date txt_date_fin.Value) Or (resultat_tests True)) Then Exit Do
      tmp_date = DateAdd("d", 1, tmp_date)
      For i = 0 To liste_congés.ListCount - 1
            If (Len(liste_congés.Column(1, i)) = 10) Then                  If (liste_congés.Column(1, i) tmp_date) Then resultat_tests True
            ElseIf (DateInclu(tmp_date, Left(liste_congés.Column(1, i), 10), Right(liste_congés.Column(1, i), 10)) = True) Then
                   resultat_tests = True
           End If
      Next
Loop

Merci d'avance de m'aiguiller sur une solution efficace.

6 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
57
Salut,


Je persiste: POURQUOI NE PAS FAIRE UNE FONCTION


En plus ta boucle For each ne sert a rien ici puisque tu n'utilise meme pas la variable Liste dans la boucle.


Note:=> Tableau_Liste n'est pas une tableau de (type) Liste mais un tableau de String contenant le nom de tes Listes.


Solutions.


1- Faire une fonction.
2- Faire un vrai tableau de Liste








Dim Tableau_Liste(0 To 1) As ListBox 

Set Tableau_Liste(0) = List1 
Set Tableau_Liste(1) = List2 

Dim p 

For Each p In Tableau_Liste 
  .....







<small> Coloration syntaxique automatique [AFCK]</small>

       









 






@+,   Ju£i?n
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
57
salut,

"Je ne souhaite pas faire une fonction mais plutot mettre ce code dans un for each et faire un tableau de liste."
- Pourquoi ne pas passer par une fonction , c'est a mon avis ce qu il y a de mieux.
- For each ?.... elle est ou ta boucle for each.

"J'ai tenté avec des array, ... mais je n'y arrive pas j'ai des type incompatible et d'autre erreurs."
-a quelles lignes tu as des type incompatible???






 






@+,   Ju£i?n
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014

Je voudrais faire ca :

dim tableau_liste

tableau_liste = array("liste1","liste2", ....)

For each liste in tableau_liste

 Do      If ((tmp_date txt_date_fin.Value) Or (resultat_tests True)) Then Exit Do
      tmp_date = DateAdd("d", 1, tmp_date)
      For i = 0 To liste_congés.ListCount - 1
            If (Len(liste_congés.Column(1, i)) = 10) Then                  If (liste_congés.Column(1, i) tmp_date) Then resultat_tests True
            ElseIf (DateInclu(tmp_date, Left(liste_congés.Column(1, i), 10), Right(liste_congés.Column(1, i), 10)) = True) Then
                   resultat_tests = True
           End If
      Next
Loop

Next
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014

Merci

Je trouve plus pratique une boucle, c'est pour ca que je veux pas la fonction.

Je fais des fonctions uniquement quand j'ai besoin du code a plusieurs endroit différent.

en faite je l'utilise liste mais je me suis trompé j'ai mis liste_congés dans le code alors que c'est liste.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
57
Re,



.."Je fais des fonctions uniquement quand j'ai besoin du code a plusieurs endroit différent"...
..." j'ai 10 fois le code ci dessous pour 10 listes différents"... => Ceci n'est pas suffisant pour toi pour faire une fonction. enfin bref, le plus important est que tu es résolu ton problème et que cela fonctionne.
@+,   Ju£i?n
Messages postés
153
Date d'inscription
jeudi 25 avril 2002
Statut
Membre
Dernière intervention
3 juillet 2014

Non tu ne m'as pas compris je pense.

Une fonction lorsque j'ai plusieurs fois le même code a différent endroit, différente fentere ...

Une boucle quand plusieur fois le même code l'un en dessous de l'autre.

Ca change pas grand chose mais c'est mon organisation.