M'aidez a comprendre les boucle sous vba

MacMac

XLDnaute Occasionnel
Bonjour le Forum

Voila je revient auprès de vous pour quelque explication sur les boucle je sais que cela allégé et c'est plus rapide a créez que de faire ligne par ligne comme je mit prend pour mon code voici un exemple de de ligne que je fait

Code:
Sheets("Base").Range("C" & 22) = Matricul_01.Text
Sheets("Base").Range("C" & 23) = Matricul_02.Text
Sheets("Base").Range("C" & 24) = Matricul_03.Text
Sheets("Base").Range("C" & 25) = Matricul_04.Text
Sheets("Base").Range("C" & 26) = Matricul_05.Text
Sheets("Base").Range("C" & 27) = Matricul_06.Text
Sheets("Base").Range("C" & 28) = Matricul_07.Text
Sheets("Base").Range("C" & 29) = Matricul_08.Text
Sheets("Base").Range("C" & 30) = Matricul_09.Text
Sheets("Base").Range("C" & 31) = Matricul_10.Text
Sheets("Base").Range("C" & 32) = Matricul_11.Text
Sheets("Base").Range("C" & 33) = Matricul_12.Text
Sheets("Base").Range("C" & 34) = Matricul_13.Text
Sheets("Base").Range("C" & 35) = Matricul_14.Text
Sheets("Base").Range("C" & 36) = Matricul_15.Text
Sheets("Base").Range("C" & 37) = Matricul_16.Text
Sheets("Base").Range("C" & 38) = Matricul_17.Text
Sheets("Base").Range("C" & 39) = Matricul_18.Text
Sheets("Base").Range("C" & 40) = Matricul_19.Text


pour envoyez des donnez sur une feuille j' aurez aimez que quelqu’un m'explique comment faire en détail une boucle car je fait que copier collez les éléments me cela ne me sert pas a grand chose le temps que je ne comprenne pas se que je fait

se serez sympas de votre part si vous auriez un model avec des explication genre mes ligne que je fait pour me simplifier la compréhension

Merci
MacMac........
 

Excel-lent

XLDnaute Barbatruc
Re : M'aidez a comprendre les boucle sous vba

Salut MacMac


Tout d'abord, si c'est encore possible, le mieux est d'avoir :
Matricul_1 et non pas Matricul_01

Ainsi tu peux écrire ton code ainsi (solution la plus simple et la plus rapide) :

VB:
For i = 1 To 19
      Sheets("Base").Range("C" & i + 21) = Controls("Matricul_" & i & ".Text")
Next i

Ce qui signifie en français
VB:
For i = 1 To 19
' Donner à i la valeur 1 lorsqu'il réalise cette boucle la première fois
' Puis 2 la seconde fois
' Puis ...
' Puis 19 la 19ème fois
      Sheets("Base").Range("C" & i + 21) = Controls("Matricul_" & i & ".Text")
      ' Donner à la cellule situé colonne C, sur la ligne ... (valeur contenu dans i, la première fois 1,
      ' auquel on rajoute 21, ce qui donnera 22 lorsque la boucle sera effectué la première fois,
      ' puis 23, puis ..., jusqu'à 40

      'la valeur incluse dans "Matricul_Valeur de i.Text"

Next i
' Incrémenter i de 1. Si le nouveau i est inférieur ou égale à 19, refaire la boucle encore une fois

Si l'explication n'est pas clair ou suffisamment détaillé, n'hésite pas.

Bonne fin d'après midi

Edition : salut Pierrot93
 
Dernière édition:

MacMac

XLDnaute Occasionnel
Re : M'aidez a comprendre les boucle sous vba

Merci de Votre Réponse Pierrot 93 et exel lent

je revient car jai pas arrivez a modifiez mes propre ligne qui sont

Private Sub UserForm_Initialize()
TextBox_C22 = Worksheets("Base").Range("C22")
TextBox_C23 = Worksheets("Base").Range("C23")
TextBox_C24 = Worksheets("Base").Range("C24")
TextBox_C25 = Worksheets("Base").Range("C25")
TextBox_C25 = Worksheets("Base").Range("C25")
TextBox_C26 = Worksheets("Base").Range("C26")
TextBox_C27 = Worksheets("Base").Range("C27")
TextBox_C28 = Worksheets("Base").Range("C28")
TextBox_C29 = Worksheets("Base").Range("C29")
TextBox_C30 = Worksheets("Base").Range("C30")
TextBox_C31 = Worksheets("Base").Range("C31")
TextBox_C32 = Worksheets("Base").Range("C32")
TextBox_C33 = Worksheets("Base").Range("C33")
TextBox_C34 = Worksheets("Base").Range("C34")
TextBox_C35 = Worksheets("Base").Range("C35")
TextBox_C36 = Worksheets("Base").Range("C36")
TextBox_C37 = Worksheets("Base").Range("C37")
TextBox_C38 = Worksheets("Base").Range("C38")
TextBox_C39 = Worksheets("Base").Range("C39")
TextBox_C40 = Worksheets("Base").Range("C40")
End Sub

de facon quelle fonctionne
pour tant c'est bien expliquez mais rien a faire je pense que je melange tout
Merci
MacMac
 

MacMac

XLDnaute Occasionnel
Re : M'aidez a comprendre les boucle sous vba

voila je fait comme sa

For i = 22 To 40
Controls("TextBox_C" & i & ".Text") = Sheets("Base").Range("C" & i + 21)
Next i

je pense qu’il y a un problème dans le For i =

merci de ton aide pierrot quand j'aurez comprit le princip sa sera plus simple pour mes autre control
 

Pierrot93

XLDnaute Barbatruc
Re : M'aidez a comprendre les boucle sous vba

Re,

enlève la propriété "text", déjà pas bon entre guillemets... et le + 21 puisque numéro textbos = numéro de ligne
Code:
For i = 22 To 40
Me.Controls("TextBox_C" & i ) = Sheets("Base").Range("C" & i ) 
Next i

si tu veux utiliser la propriété....
Code:
For i = 22 To 40
Me.Controls("TextBox_C" & i ).Text = Sheets("Base").Range("C" & i ) 
Next i
 

MacMac

XLDnaute Occasionnel
Re : M'aidez a comprendre les boucle sous vba

C'est Super sa fonctionne je comprend mieux le principe et le meme pour tous mes control vu que mes control son nome facon TextBox_cellule en faite ?

Grand Merci Pierrot vais essayez sur mes autre control comme essaye
 

Discussions similaires

Réponses
7
Affichages
449