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 !
J'ai un formulaire contenant les champs Couleur_1, Couleur_2 ect.. jusqu'à Couleur_20.
J'ai fait ce petit code très basic qui reprend la valeur des différents champs pour les intégrer dans une variable string ce qui donnera :
Les couleurs disponible sont : couleur 1 , couleur 2, ect jusqu'à couleur 20.
VB:
'Ma condition est d'avoir au moins 2 couleurs donc si le champs 2 est vide je ne veux rien faire
If Couleur_2.Value = "" Then
Else
CouleurBatterie = "Les couleurs disponible sont : " & Couleur_1.Value & Couleur_2.Value & Couleur_3.Value & Couleur_4.Value
End If
Mais j'aimerais améliorer le code pour ne prendre en compte que les champs non vide sinon ça donne comme résultat Couleur1, Couleur2,,,,,,,,,,,,,,,,,,,.
Ce qui n'est pas très jolie.
J'ai essayé plusieurs variantes de boucle mais je n'ai pas réussi à obtenir quelque chose d'exploitable notamment pour ma variable texte qui doit lister les couleurs disponible.
Voici un exemple qui ne fonctionne pas
Code:
Dim T(21) As Variant
For c = 1 To 20
T(c) = Couleur_c.Value
Next
CouleurBatterie = "Les couleurs disponible sont : " & T(0) & T(1) & T(2)
Sub essai()
Dim T(21) As Variant
CouleurBatterie = "Les couleurs disponible sont : "
For c = 1 To 20
T(c) = Couleur_c.Value
If T(c) <> "" Then
CouleurBatterie = CouleurBatterie & T(c) & ","
End If
Next
CouleurBatterie = Mid(CouleurBatterie, 1, Len(CouleurBatterie) - 1) ' supprime la virgule finale
End Sub
Merci beaucoup. J'ai du le retravailler légèrement parce que les objets aiment pas beaucoup les .value.
Maintenant ça marche.
Et merci encore pour le coup de mettre la variable texte dans la boucle. C'est un truc que je vais réutiliser souvent.
VB:
Dim TableauCouleur(19) As Variant
CouleurBatterie = "Les couleurs disponible sont : "
For c = 0 To 19
TableauCouleur(c) = UserForm1.Controls("Couleur_" & c + 1).Value
If TableauCouleur(c) <> "" Then
CouleurBatterie = CouleurBatterie & TableauCouleur(c) & ","
End If
Next
CouleurBatterie = Mid(CouleurBatterie, 1, Len(CouleurBatterie) - 1) & "." ' supprime la virgule finale
- 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