Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boucle saisie de données

  • Initiateur de la discussion Initiateur de la discussion guil456
  • Date de début Date de début

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 !

G

guil456

Guest
Bonjour,
je suis en train de réaliser un petit bout de programme en vba. Voilà mon problème:
en gros je saisie des données dans un userform et j'ai 3 boutons
continuer, valider et annuler
annuler ferme la fenetre,
valider, rentre les 3 -4 données de mes textbox dans des cellules et ferme luserform
continuer doit rentrer les données de mes textbox dans les cellules et incrémenter mes cellules d'une ligne supplémentaire pour continuer à rentrer d'autres données qui viendront se mettre en dessous . Je ne sais pas si je suis bien clair, toujours est il que c'est ce bouton continuer qui me dérange.
voici un essai parmi tant d'autres qui reste encore infructueux.

Dim b As Integer
Dim x As Integer
x = 5
b = x
For b = x To b = 100

Cells(b, 3) = TextBox1
Cells(b, 4) = TextBox2

If TextBox3 = "" Then
Cells(b, 5) = ""
Else
Cells(b, 5).Value = CDbl(TextBox3)
End If

If TextBox4 = "" Then
Cells(b, 6) = ""
Else
Cells(b, 6).Value = CDbl(TextBox4)
End If


b = x + 1
Next b
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""

dans cet exemple , je ne pourrai rentrer que 100 lignes de données, et la première ligne sera la ligne 5 . Mais cela ne marche pas. J'ai essayé beaucoup de trucs mais rien n'y fait, je n'ai pas trouvé la solution ni avec do for each ou for... (pourtant je me suis acheté un livre sur vba! )

le but final est que les données d'insérent en ligne 5 pour la première fois, je clique sur continuer, ca rase mes textbox qui redeviennent blanches, ça ne ferme pas mon userform, je rerentre d'autres données dans les textbox, je reclique sur continuer pour que ca rentre mes données en ligne 6 et ainsi de suite
toute aide est la bienvenue!
 
Re : Boucle saisie de données

Bonjour



Il faut déclarer la variable 5 en début de module et l'initialiser à l'ouverture de l'userform avec la valeur 5.
Ensuite remplacer 5 par x, et une fois que l'on a écrit dans les cellules incrémenter la variable x.
Code:
Option Explicit
Dim x As Integer

Private Sub CommandButton1_Click()
   Cells(x, 3) = TextBox1
     Cells(x, 4) = TextBox2

        If TextBox3 = "" Then
             Cells(x, 5) = ""
                 Else
                 Cells(x, 5).Value = CDbl(TextBox3)
        End If

        If TextBox4 = "" Then
             Cells(x, 6) = ""
                  Else
                   Cells(x, 6).Value = CDbl(TextBox4)
        End If

TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
x = x + 1

If x = 100 Then

Call MsgBox("Vous avez saisie toutes les données" _
            & vbCrLf & "" _
            , vbInformation, Application.Name)
Unload Me
            
End If
End Sub


Private Sub UserForm_Initialize()
x = 5
End Sub

A tester


JP
 
Re : Boucle saisie de données

Ca marche!!
Merci beaucoup pour cette aide rapide et efficace!
Je vais pouvoir continuer à avancer et ça m'aidera pour d'autres taches similaires je pense . J'avais cherché 2-3 heures avant de poster le message.

Merci encore
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
785
Réponses
2
Affichages
589
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…