Aide pour la programmation d'un userform remplissant une ligne Excel - VB/VBA/VBS - Programmation
Marsh Posté le 09-03-2009 à 12:26:50
For i = 1 To n
If IsEmpty(Range("Ai" )) Then
ActiveCell.ValueR1Ai = TextBox1.Value
ActiveCell.ValueR1Bi = TextBox8.Value
ActiveCell.ValueR1Ci = TextBox3.Value
ActiveCell.ValueR1Di = TextBox4.Value
ActiveCell.ValueR1Ei = TextBox5.Value
ActiveCell.ValueR1Fi = TextBox6.Value
ActiveCell.ValueR1Gi = TextBox7.Value
ActiveCell.ValueR1Hi = TextBox9.Value
ActiveCell.ValueR1Ii = TextBox10.Value
End If
Next i
End Sub
Est ce que cette programmatation est meilleure ?
Je vous remercie de votre patience !
Marsh Posté le 09-03-2009 à 13:40:27
Bon, après mes recherches, je suis arrivé à une autre programmation :
Sub Derniereligne()
Dim a as Long
Range("A65536" ).End(xlUp).Offset(1, 0).Select
Activecell.row = a
Range("Aa" ).Value = TextBox1.Value
Range("Ba" ).Value = TextBox8.Value
Range("Ca" ).Value = TextBox3.Value
Range("Da" ).Value = TextBox4.Value
Range("Ea" ).Value = TextBox5.Value
Range("Fa" ).Value = TextBox6.Value
Range("Ga" ).Value = TextBox7.Value
Range("Ha" ).Value = TextBox9.Value
Range("Ia" ).Value = TextBox10.Value
End Sub
En fait, ce que je recherche c'est une détection de la première ligne non utlisée dans la colonne A, et l'ajout de cellules dans cette ligne !!
Pouvez vous m'aider ?
Marsh Posté le 09-03-2009 à 14:02:07
Voila, j'ai réussi a recupérer le numero de la premiere ligne non utilisée avec ceci :
Static a As Long
Derniere_ligne = ActiveSheet.Columns.End(xlDown).Row
Premiere_ligne = Derniere_ligne + 1
Range("Aa" ).Value = TextBox1.Value
Range("Ba" ).Value = TextBox8.Value
Range("Ca" ).Value = TextBox3.Value
Range("Da" ).Value = TextBox4.Value
Range("Ea" ).Value = TextBox5.Value
Range("Fa" ).Value = TextBox6.Value
Range("Ga" ).Value = TextBox7.Value
Range("Ha" ).Value = TextBox9.Value
Range("Ia" ).Value = TextBox10.Value
Comment j'insere ma valeur de ligne dans la formule range ??
Marsh Posté le 09-03-2009 à 16:02:35
Voila, j'ai reussi a prendre la premiere ligne non remplie, mais je n'arrive pas à prendre la valeur d'une variable dans la fonction range !!
Pouvez vous m'aider ?
Marsh Posté le 09-03-2009 à 10:19:35
Bonjour, dans le cadre de mon stage je dois programmer un fichier Excel sur une liste de sous-traitant. Je suis actuellement débutant en VBA.
L’userform créé une ligne d’informations sur un sous traitant. L’userform se compose de textboxs que l’utilisateur va remplir et ensuite cliquer sur ok pour confirmer.
Chaque textbox remplit une cellule d’une ligne du tableau de sous traitant
J’ai rajouté une condition sur la cellule dans la colonne A qui est la suivant :
« Si la cellule Ai ne contient rien alors effectuer ces actions. »
Je propose cette programmation :
Sub AjoutSTTEST() (Macro créé quand l’utilisateur clique sur « ok » pour confirmer)
Dim ValeurA As String
For i = 1 To n
ValeurA = ActiveCell.ValueR1Ai
If ValeurA = "" Then
ActiveCell.ValueR1Ai = TextBox1.Value
ActiveCell.ValueR1Bi = TextBox8.Value
ActiveCell.ValueR1Ci = TextBox3.Value
ActiveCell.ValueR1Di = TextBox4.Value
ActiveCell.ValueR1Ei = TextBox5.Value
ActiveCell.ValueR1Fi = TextBox6.Value
ActiveCell.ValueR1Gi = TextBox7.Value
ActiveCell.ValueR1Hi = TextBox9.Value
ActiveCell.ValueR1Ii = TextBox10.Value
End If
Next i
End Sub
Voila, je vous remercie de votre patience!