[VBA] Comment optimiser ce code ?
Résolu
Spag-ET
Messages postés
3
Statut
Membre
-
lepirlouit -
lepirlouit -
Bonjour, je travail sur VBA d'excel et j'aimerais insérer une variable avant un "="
du style :
For i = 1 To 10
UserForm1."Checkbox"&i.Caption = "toto" & i
Next i
Je veux que chaque CheckBox s'apelle toto1, toto2 etc.
pour éviter de faire ceci :
Merci !
du style :
For i = 1 To 10
UserForm1."Checkbox"&i.Caption = "toto" & i
Next i
Je veux que chaque CheckBox s'apelle toto1, toto2 etc.
pour éviter de faire ceci :
For i = 4 To 31 Range("A" & i).Select If i = 4 Then ' cliste est un UserForm et L1 une checbox .. cliste.L1.Caption = ActiveCell.FormulaR1C1 ElseIf i = 5 Then cliste.L2.Caption = ActiveCell.FormulaR1C1 ElseIf i = 6 Then cliste.L3.Caption = ActiveCell.FormulaR1C1 ElseIf i = 7 Then cliste.L4.Caption = ActiveCell.FormulaR1C1 ElseIf i = 8 Then cliste.L5.Caption = ActiveCell.FormulaR1C1 ElseIf i = 9 Then cliste.L6.Caption = ActiveCell.FormulaR1C1 ElseIf i = 10 Then cliste.L7.Caption = ActiveCell.FormulaR1C1 ElseIf i = 11 Then cliste.L8.Caption = ActiveCell.FormulaR1C1 ElseIf i = 12 Then cliste.L9.Caption = ActiveCell.FormulaR1C1 ElseIf i = 13 Then cliste.L10.Caption = ActiveCell.FormulaR1C1 ElseIf i = 14 Then cliste.L11.Caption = ActiveCell.FormulaR1C1 ElseIf i = 15 Then cliste.L12.Caption = ActiveCell.FormulaR1C1 ElseIf i = 16 Then cliste.L13.Caption = ActiveCell.FormulaR1C1 ElseIf i = 17 Then cliste.L14.Caption = ActiveCell.FormulaR1C1 ElseIf i = 18 Then cliste.L15.Caption = ActiveCell.FormulaR1C1 ElseIf i = 19 Then cliste.L16.Caption = ActiveCell.FormulaR1C1 ElseIf i = 20 Then cliste.L17.Caption = ActiveCell.FormulaR1C1 ElseIf i = 21 Then cliste.L18.Caption = ActiveCell.FormulaR1C1 ElseIf i = 22 Then cliste.L19.Caption = ActiveCell.FormulaR1C1 ElseIf i = 23 Then cliste.L20.Caption = ActiveCell.FormulaR1C1 ElseIf i = 24 Then cliste.L21.Caption = ActiveCell.FormulaR1C1 ElseIf i = 25 Then cliste.L22.Caption = ActiveCell.FormulaR1C1 ElseIf i = 26 Then cliste.L23.Caption = ActiveCell.FormulaR1C1 ElseIf i = 27 Then cliste.L24.Caption = ActiveCell.FormulaR1C1 ElseIf i = 28 Then cliste.L25.Caption = ActiveCell.FormulaR1C1 ElseIf i = 29 Then cliste.L26.Caption = ActiveCell.FormulaR1C1 ElseIf i = 30 Then cliste.L27.Caption = ActiveCell.FormulaR1C1 ElseIf i = 31 Then cliste.L28.Caption = ActiveCell.FormulaR1C1 End If Next i
Merci !
A voir également:
- [VBA] Comment optimiser ce code ?
- Optimiser son pc - Accueil - Utilitaires
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
5 réponses
Salut,
En VBA je ne sais pas, mais en VB il existe un moyen, c'est je crois cliste.Control["nomducontrol"]
En VBA je ne sais pas, mais en VB il existe un moyen, c'est je crois cliste.Control["nomducontrol"]
Le code est en VB,
J'ai essayé :
ou
mais il me dit "Membre de méthode ou de donnée introuvable"
J'ai essayé :
cliste.Control ["L"&i].Caption = ActiveCell.FormulaR1C1
ou
cliste.["L"&i].Caption = ActiveCell.FormulaR1C1
mais il me dit "Membre de méthode ou de donnée introuvable"
il y a deux facons d'adresser un controle
soir par son nom soit par son ordre
il faut employer une adresse
du genre userform.controls(i+décalage initial)
soir par son nom soit par son ordre
il faut employer une adresse
du genre userform.controls(i+décalage initial)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question