Pb d’incrémentation tableau

Bonjour

Voici mon code :

6reparation1x.xlsm (54.48 Ko)

quand je rentre mes données dans le formulaire, et que je valide, cela ajoute bien ma ligne.

Ensuite si je veux rentrer d'autres données, cela me met un erreur ?

Je ne peu rentrer qu'une donnée, la première ?

Merci

Bonsoir quattro26140 ,

Ta dernière ligne est calculé sur la colonne "A" est tu sur de remplir correctement le champ "Type" quand tu fais ta saisie ?

Sinon il serait plus judicieux de chercher la dernière ligne renseignée sur l'intégralité des colonnes utilisées de plus quand je regarde ton code, tu te serts d'une variable "id" qui a première vue ne sert strictement à rien autant utilisé directement le variable "derniere_ligne"

Bonsoir,

votre incrémentation est faite par rapport à la valeur de la colonne A hors si vous essayez de faire une addition entre une valeur texte avec un chiffre il y a incompatibilité de type ! Qui doit être votre message d'erreur.

Dans cette ligne de code il faut mettre la bonne référence de colonne à savoir 13 et non pas 1

au lieu de :

id = onglet.Cells(derniere_ligne, 1) + 1

écrire :

id = onglet.Cells(derniere_ligne, 13) + 1

Mais comme l'a si bien dit Florian53, une référence type ID comme identification se trouve en général (toujours) en première colonne !

@ bientôt

LouReeD

de plus :

derniere_ligne = onglet.Cells(Rows.Count, 1).End(xlUp).Row

donne le numéro de la dernière ligne PLEINE !

Donc pour entrer les données suivantes il faut faire derniere_ligne + 1 !

@ bientôt

LouReeD

voici ma modif :

du coup maintenant cela ne m’incrémente pas les lignes.

En fait sa écrase la 1ere et ainsi de suite?

Vous n'avez pas lu tous les messages...

@ bientôt

LouReeD

Là je bloque

mon code :

cela fct sauf que, il ne commence pas à la ligne 11 ? mais a partir de la 12..

Bonjour,

Tu travailles avec un tableau structuré.

Essaie ceci :

Private Sub CommandButton1_Click()
Dim lo As ListObject
Dim r As Range
Dim arr(12) As Variant

    Set lo = Range("Tableau1").ListObject
    With lo
        If .InsertRowRange Is Nothing Then
            Set r = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
        Else
            Set r = .InsertRowRange.Cells(1)
        End If
    End With

    arr(0) = ComboBox1.Text             'champ type
    arr(1) = TextBox3.Text              'champ designation
    arr(2) = TextBox4.Text              'champ reference
    arr(3) = TextBox5.Text              'champ serie
    arr(4) = TextBox6.Text              'champ panne annoncé
    arr(5) = CLng(CDate(TBox_Date))     'champ date envoi
    arr(6) = ""
    arr(7) = ComboBox2.Text             'champ ville
    arr(8) = ComboBox3.Text             'champ transporteur
    arr(9) = ""
    arr(10) = ""
    arr(11) = "En réparation"
    arr(12) = lo.ListRows.Count + 1

    r.Resize(, 13).Value = arr

    TextBox1.Text = ""
    ComboBox1.Text = ""
    TextBox3.Text = ""
    TextBox4.Text = ""
    TextBox5.Text = ""
    TextBox6.Text = ""
    ComboBox2.Text = ""
    ComboBox3.Text = ""

    ComboBox1.SetFocus

End Sub

merci

Mais je veux garder le code code que j'ai envoyé dans le fichier, car j'ai fait un copier coller d'un code qui fonctionne bien ailleurs, ci joint le lien :

et chez moi ca fct pas ??

Re,

Cela fonctionne chez moi avec ton fichier.

Vérifie comme même le nom du tableau dans ta feuille de calcul.

Bonne continuataion.

Cdlt.

merci

le nom du tableau dans ma feuil1 est : Tableau1

Je démarre toujours à la ligne 12 et non 11 ?

Re,

Ton tableau n'est pas considéré comme vide.

Sélectionne la ligne du tableau et supprime la.

Cdlt.

merci

C'est ce que j'essai de faire, mais bizarrement quand je fais un click droit , l'option supprimer est en grisé ??

Alors que pour les autres lignes c'est tout bon.

Rechercher des sujets similaires à "incrementation tableau"