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!