cs_FCNAlex
Messages postés1Date d'inscriptionmardi 17 juin 2008StatutMembreDernière intervention17 juin 2008
-
17 juin 2008 à 11:04
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
17 juin 2008 à 15:09
Bonjour,
Je suis actuellement en stage et je dois développer un petit outil pr un suivi de temps de changement de série.
J'utilise donc VB pour remplir un tableau excel pour simplifier au maximum la saisie des données.
Mon problème est que à chaque fois que je rentre une nouvelle valeur elle ecrase la valeur précédente. Je n arrive pas a trouver de moyen pour que cette nouvelle valeur se mette en dessous la précédente dans le tableau.
Pour plus de clarté, je peux envoyer le tableau a remplir et la tete du userform qui me sert pour rentrer les valeurs aux personnes qui voudraient m'aider.
Voici le code que j'ai entré.
Merci de me dire tout ce qui ne va pas... Il doit y avoir pas mal de choses..
Public r As Range
Sub init()
Set r = Feuil9.Range("C" & 4 + i)
End Sub
Sub Nouveau()
Dim i As Integer
Set r = Feuil9.Range("C" & 4 + i)
Dim X As Integer
If Userform1.TextBox2.Value = 1 Then
X = 1
End If
If Userform1.TextBox2.Value = 2 Then
X = 0
End If
If Userform1.TextBox2.Value = 6 Then
X = 2
End If
If Userform1.TextBox2.Value = 7 Then
X = 3
End If
If Userform1.TextBox4 = 1 Then
r.Offset(16 * X, 3 * Userform1.TextBox1.Value - 2).Value = Userform1.TextBox3.Value
End If
If Userform1.TextBox4 = 2 Then
r.Offset(16 * X, 3 * Userform1.TextBox1.Value - 3).Value = Userform1.TextBox3.Value
End If
If Userform1.TextBox4 = 3 Then
r.Offset(16 * X, 3 * Userform1.TextBox1.Value - 1).Value = Userform1.TextBox3.Value
End If
Dim Sup As Integer
Sup = MsgBox("Vous venez d'entrer un temps de changement de série de " & Userform1.TextBox3.Value & " pour la machine " & Userform1.TextBox2.Value & ". Souhaitez vous bien valider les informations entrées ?", vbExclamation + vbYesNo + 256, "Confirmation")
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 17 juin 2008 à 15:09
Salut,
quand tu as besoin de déterminer la prochaine ligne vide dans une colonne (par exemple la colonne D), il faut partir de D65536 et remonter avec la propriété End de l'objet Range, puis lui rajouter 1 :
Dim ProchaineLigneVide as integer
ProchaineLigneVide = Range("D65536).End(xlUp).Row + 1