Boucle sur no pas continue

  • Initiateur de la discussion Initiateur de la discussion Temjeh
  • Date de début Date de début

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 !

Temjeh

XLDnaute Accro
Bonjour et merci d'avance

Surement tres simple.
Je cherche dans ma base sans solution valable


Je veut simplement boucler sur 1,2,3,5,6 (pas sur 4)
Je peut évidemment écrire ...si i = 4 then go to suiv et y mettre un suiv: mais je cherche la bonne facon de l'écrire.

For i = 1 to 6
UserForm1.Controls("CommandButton" & (i)).Enabled = False
Next i

Ceci n'est pas bon:Array(1, 2, 3, 5, 6)

Merci

Temjeh
 
Re : Boucle sur no pas continue

Merci

J'avais plus pensé a une genre de suite car si dans une boucle futur sur boucle de 10 item je ne vei=ut pas la 3, 6, 7 par exemple le code se rallonge.

Il y a surement moyen de lui dire en premiere ligne ...

For i = (1,2,3,5,6)

Merci

Temjeh
 
Re : Boucle sur no pas continue

Re bonjour,

Peut-être comme cela :

Code:
ch="12356")
For n=1 to Len(ch)
  UserForm1.Controls("CommandButton" & Cint(Mid(ch,n,1)).Enabled = False
Next

Je n'ai pas testé, ce n'est toujours pas très "élégant", mais ça doit fonctionner.

Cordialement.
 
Re : Boucle sur no pas continue

Ok parfait merci beaucoup

Il manquait une parenthese avant le .Enabled

ch = ("12356")
For n = 1 To Len(ch)
UserForm1.Controls("CommandButton" & CInt(Mid(ch, n, 1))).Enabled = False
Next n

A++

Temjeh
 
Dernière édition:
Re : Boucle sur no pas continue

Re bonjour,

C'est exact, PascalXLD, dans ce cas on peut utiliser un tableau.

Par exemple :

Code:
num = Array(1, 3, 5, 7, 9, 11,13,15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
For Each n In num
  UserForm1.Controls("CommandButton" & CInt(Mid(ch, n, 1))).Enabled = False
Next

Ainsi, il n'y a plus de limitation en nombre de contrôles à traiter.

Espérant avoir répondu.

Cordialement.
 
Re : Boucle sur no pas continue

Ouen merci

J'y avais pensé mais pour le moment ca me convenais.

Il y a par-contre ERREUR 13 INCOMPATIBILITÉ DE TYPE sur le nouveau code

UserForm1.Controls("CommandButton" & CInt(Mid(ch, n, 1))).Enabled = False

Merci beaucoup

Temjeh
 
Re : Boucle sur no pas continue

Salut le forum

Code:
Dim Tablo
Dim I As Byte
Tablo = Array(1, 3, 5, 7, 9, 11, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
For I = 0 To UBound(Tablo)
  UserForm1.Controls("CommandButton" & Tablo(I)).Enabled = False
Next I

Mytå
 
Re : Boucle sur no pas continue

Bonjour Temjeh, le Forum,

Autant pour moi, voici la correction :

Code:
num = Array(1, 3, 5, 7, 9, 11, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
For Each n In num
  UserForm1.Controls("CommandButton" & n).Enabled = False
Next

Bonne journée.
 
- 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

D
Réponses
4
Affichages
793
D
Réponses
20
Affichages
2 K
J
  • Question Question
Réponses
11
Affichages
1 K
Jass932
J
Retour