Boucle

Chrys

XLDnaute Nouveau
Bonjour, je souhaite alléger le code suivant. Je suppose que ca doit etre assez simple avec une boucle mais je ne sais pas faire.

Code:
If UserForm1.CheckBox1.Value = True Then
Dest = Sheets("Transporteurs").Range("B1")
End If
If UserForm1.CheckBox2.Value = True Then
Dest = Dest & Sheets("Transporteurs").Range("B2")
End If
If UserForm1.CheckBox3.Value = True Then
Dest = Dest & Sheets("Transporteurs").Range("B3")
End If
If UserForm1.CheckBox4.Value = True Then
Dest = Dest & Sheets("Transporteurs").Range("B4")
End If

Dans l'ideal il faudrait que la boucle aille jusqu'aux nombre de valeurs en A de "Transporteurs", cela me permettrait de rajouter des données sans toucher au code.

Merci d'avance pour votre aide
 

titiborregan5

XLDnaute Accro
Re : Boucle

Bonjour Chrys, le forum,

à tester avec :
Code:
for i = 1 to 4
If UserForm1.CheckBox(i).Value = True Then
Dest = Sheets("Transporteurs").Range("B"&1)
End If
next

vérifier peut-être pour le combobox et son nom.

Pour les transporteurs, je ne vois pas le lien direct avec le code... sans fichier c'est vraiment pas facile...

A+
 

Chrys

XLDnaute Nouveau
Re : Boucle

Bonjour titiborregan5

Merci d'essayer de m'aider.

Transporteurs c'est juste le nom de ma feuille. Je disais que je souhaitais que la boucle tourne sur le nombre de valeur en A dans cette feuille

Au lieu de for i = 1 to 4 je souhaiterais :
for i = 1 to "nbval(A:A)" de cette feuille.

Je ne sais pas si je suis très clair !!!

Sinon ton code bloque sur "CheckBox(i)" ===> Membre de méthode ou données introuvable


Merci encore
 

titiborregan5

XLDnaute Accro
Re : Boucle

Oui ok mais quel est le lien entre la combobox et les transporteurs? c'est pour cela qu'il faut mettre un fichier exemple, même avec des données bidons, mais ça permet de mieux comprendre et on ne travaille pas dans le vide...
Pour aller jusqu'à la dernière ligne en A
for i = 1 to range("a1").end(xldown).row
 

Chrys

XLDnaute Nouveau
Re : Boucle

Je t'ai fait un petit fichier exemple.

Je n'en suis qu'au début mais dans l'idée :

Les checkbox à droite de l'USF servent à choisir les transporteurs qui seront destinataires du mail généré automatiquement.

(Toutes la partie gauche de l'USF n'est pas encore active)
 

Pièces jointes

  • chrys.xlsm
    21.7 KB · Affichages: 25

Chrys

XLDnaute Nouveau
Re : Boucle

J'ai trouvé et cela fonctionne avec :

Code:
With UserForm1
  For i = 1 To 9
    If .Controls("CheckBox" & i) Then
    Dest = Dest & Sheets("Transporteurs").Range("B" & i)
    End If
   Next i
End With

Merci beaucoup pour ton aide !
 

Discussions similaires

Réponses
4
Affichages
242