Simplification boucle if [Résolu]

Signaler
Messages postés
36
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
23 octobre 2010
-
Messages postés
36
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
23 octobre 2010
-
Bonjour

quelqu'un pourrait il m'aiguiller pour imbriquer et simplifier ces deux boucle si c'est possible:

'charge la hauteur du deuxième tiroir
Range("Tiroir2").Value = tiroir2.Text
For Each tiroir_5 In zone2.Controls
If tiroir_2.Visible = True Then
Range("Tiroir2").Offset(0, -1).Value = tiroir_2.Caption
Else
Range("Tiroir2").Offset(0, -1).Value = ""
End If
Next

'Détermine si le tiroir2 et placé tout en bas du caisson
For Each tiroir_5 In zone2.Controls If chb2.Visible True And chb2.Value True Then
Range("Tiroir2").Offset(0, 1).Value = "Tout en bas"
Else
Range("Tiroir2").Offset(0, 1).Value = ""
End If
Next

Merci d'avance

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
Ben alors pourquoi faire une boucle pour faire x fois la même chose, autant le faire qu'une seule fois, ca suffira !


Remarque : c'est la même chose pour la première boucle en fait : tu
n'utilise pas ta variable de boucle, donc tu fait aussi x fois la même
chose !



Donc ton code devient :

Range("Tiroir2").Offset(0, -1).Value = iif(tiroir_2.Visible, tiroir_2.Caption, "")

Range("Tiroir2").Offset(0, 1).Value = iif(chb2.Visible And chb2.Value, "Tout en bas", "")



Et tout de suite, c'est plus rapide !

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
121
J'ai du mal à comprendre ta deuxième boucle : à quoi te sert-elle puisque tu n'utilise jamais tiroir_5 ??? La je comprends pas !
_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
Messages postés
36
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
23 octobre 2010

Ok

t'as question est pertinente c'est vrai que tiroir_5 n'est pas utilisé mais si je met tiroir_2 se qui me parettrait plus logique ça ne fonctionne pas comme je le veux alors j'ai pas encore trouvé d'ou ça venait mais ça fonctionne comme ça, mais j'ai encore beaucoup de choses à apprendre en VBA et je suis certainement passé à coté de quelque chose.


Voila pour te repondre DarK Sidious
Messages postés
36
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
23 octobre 2010

Ok DarK Sidious

Je viens de le tester et c'est pas que je doutais de ton code mais je l'avais jamais vu jusque là, le iif était completement unconnu de ma part.


Entout cas je remercie car ça simplifie enormément mon code et c'est sur en voyant ça j'ai encore du boulot en programmation