Boucle sous vba

Résolu/Fermé
Miloo1602 - 4 avril 2008 à 10:07
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 4 avril 2008 à 14:46
Bonjour,

Petite question, je début sous excel et j'ai un ptit pb !!

enfaite j'ai créer une userfom.. avec un bouton sous excel .. jusque là ça marche nikel
dans ma userform j'ai des textbox et combobox ... et enfaite
les données sont reportées dans une ligne avec colonne correspondante..( ça marche !)
mon but etant de creer une base de donnée..
je veux que qd je saisais des données ds ma USerform.. elles aillent dans ma ligne et soit enregister de manière à ce que lorsque je ressaisis des données ds ma userform... elles s'enregistrent ( se rangent) ds la ligne du dessous et ainsi de suite...
fo utiliser des while ? do while ??
je ne sais pa :/

je compte sur vous !

merci de votre aide

2 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
4 avril 2008 à 10:21
Salut,

intégre dans ta macro ce code avant la fonction paste.

dans ce code la cellule active fait un balayage à partir de A2 et s'arrete à la première cellule vide

Range("A2").Select
Do While Not IsEmpty(ActiveCell.Value)
ActiveCell.Offset(1, 0).Select
Loop

A+

_______________________________________________________________________________

Vous cherchiez de l’aide. Les membres du forum, bénévolement étaient à vos côtés.
Ayez la gentillesse de nous dire si votre problème est résolu. Afin de classer la
Demande.
0
re !!
alors voila ma formaule ça sera plus simple...

Private Sub CommandButton2_Click()
Sheets("Feuil1").Select

Range("A11") = ComboBox1
Range("B11") = TextBox1
Range("C11") = TextBox3
Range("D11") = TextBox2
Range("E11") = TextBox4

Fournisseur.Hide

End Sub

et là ce que je veux c'est quand je saisi mes données soient stockés dans mon tableau ..
enfaite pour résumer que ma deuxième saisie aille en A12,B12,C12 etc... et ainsi de suite...3ème saisie sais A13, B13....
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
4 avril 2008 à 14:46
Salut,
Dans l'exemple de macro ci dessous je copie dans un premier temps le résultat de ma userform1 sur les cellules A11 à E11 comme sur ton tableau, à la fermeture de l'userform1 les cellule A11 à E 11 , se met en situation couper, un balayage depuis la cellule A1 pour rechercher la 1ére cellule vide et copie ce qui se trouvait de A11 à E11. et pour désactiver la macro la cellule active revient A1
la plage de A11 à E 11 peut être une plage en début de tableau voir masquée


Sub copie()
UserForm1.Show
Range("A11:E11").Select
Selection.Cut
Range("A1").Select
Do While Not IsEmpty(ActiveCell.Value)
ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.Paste
Range("A1").Select
End Sub

A+

_________________________________________________________________________

Vous cherchiez de l’aide. Les membres du forum, bénévolement étaient à vos côtés.
Ayez la gentillesse de nous dire si votre problème est résolu. Afin de classer la
Demande.
0