Problème pour remplir un tableau

cs_FCNAlex Messages postés 1 Date d'inscription mardi 17 juin 2008 Statut Membre Dernière intervention 17 juin 2008 - 17 juin 2008 à 11:04
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 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")




If Sup = vbYes Then
i = i + 1
End If

1 réponse

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
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

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
Rejoignez-nous