Remplir une nouvelle cellule en bas d'in tableau

Bonjour à tous

Je suis en train de tourner bourrique !!!

J'ai créé un onglet Tables sur lequel j'ai deux tableaux( 1col chacun) déclarés et nommés séparés par une colonne.

Avec une procédure Userform je peux rajouter une cellule au premier tableau sans pb, mais lorsque je reproduit la même procédure sur le deuxième tableau je me fais jeter systématiquement et excel redémarre sans que j'ai eu accès au débogueur....

La formulation utilisée

Sheets("Tables").Cells(Vlf + 1, 4).Value = NMag

Si je mets formula c'est pareil ....

image

J'ai déja eu ce pb en voulant rajouter manuellement une colonne a un tableau au moment de la saisie de l'entête, bug et redémarrage....

Faut il mettre chacun des tableaux sur une feuille distincte ?

Ya t il une formule consacrée

Je suis sur office 365....

Quelqu'un a t il subi ce genre d'avanies ?

Merci d'avance

Cordialement

FINDRH

Bonjour,
Un petit fichier ou la copie de la procédure qui pose souci ?
CDlt.

Bonjour Jean Eric

Merci pour ton interet à la question

cellle qui marche:

Private Sub Val_Click()

    If CNew <> "" Then

        NCat = CNew
        'Vérif existence Catégorie

        Table.Select ' avant saisie

        Vlf = Range("A1").End(xlDown).Row

        Set rgfound = Range(Cells(1, 1), Cells(Vlf, 1)).Find(NCat, LookIn:=xlValues)

        If rgfound Is Nothing Then 'n'existe pas

        ' rajoute catégorie
          Cells(Vlf + 1, 1).Value = Application.Proper(NCat)

        'Trie

        Worksheets("Tables").Sort.SortFields.Clear

        Range("A1:A" & Vlf).Sort Key1:=Range("A1"), Header:=xlYes

        'retourne sur userform appelant ou ferme

            Unload SaisCat

            Select Case Vmac1

                Case 1 '(retour saisie article) '

                    SaisArt.Show

                        'renseigner mytable
                        SaisArt.ListCat.Clear

                        Set myTabCat = Sheets("Tables").ListObjects("TabCat")
                         myArrayCat = myTabCat.DataBodyRange

                        c = 0

                        For i = LBound(myArrayCat) To UBound(myArrayCat)

                            SaisArt.ListCat.AddItem
                            SaisArt.ListCat.List(c, 0) = myArrayCat(i, 1)
                            c = c + 1

                        Next i

                Case 2 'retour saisie mvt

                    SaisMvt.Show

                Case Else

                Accueil.Select

            End Select

        Else

             MsgBox "La catégorie " & NCat & " existe déjà"
             Exit Sub
        End If

    Else

        MsgBox "Pas de nouvelle catégorie saisie !"

        Exit Sub
    End If

End Sub

celle qui coince, j'ai mis les tableaux sur deux feuilles différentes

Private Sub Val_Click()

    If MagNew <> "" Then

        NMag = Application.Proper(MagNew)
        'Vérif existence Catégorie

        Magasin.Select ' avant saisie

        Vlf = Range("A1").End(xlDown).Row

        Set rgfound = Range(Cells(1, 1), Cells(Vlf, 1)).Find(NMag, LookIn:=xlValues)

        If rgfound Is Nothing Then 'n'existe pas

        ' rajoute magasin
             Sheets("Magasin").Cells(Vlf + 1, 1).Value = NMag

             Vlf = Vlf + 1

        'Tri

        Worksheets("Magasin").Sort.SortFields.Clear

        Range("A1:A" & Vlf).Sort Key1:=Range("A1"), Header:=xlYes

        'retourne sur userform appelant ou ferme

            Unload SaisMag

            Select Case Vmac1

                Case 1 '(retour saisie article) '
                    SaisArt.Show

                'CreListMag

                'renseigner mytable

                SaisArt.ListMag.Clear

                Set myTabMag = Sheets("Magasin").ListObjects("TabMag")
                myArrayMag = myTabMag.DataBodyRange

                c = 0
                    For i = LBound(myArrayMag) To UBound(myArrayMag)

                        SaisArt.ListMag.AddItem
                        SaisArt.ListMag.List(c, 0) = myArrayMag(i, 1)
                         c = c + 1

                    Next i

                Case 2 'retour saisie mvt

                    SaisMvt.Show

                Case Else

                Accueil.Select

            End Select

        Else

             MsgBox "Le  magasin " & NMag & " existe déjà"
             Exit Sub
        End If

    Else

        MsgBox "Pas de nom de magasin saisi !"

        Exit Sub
    End If

End Sub

Merci pour ton aide

Cordialement

FINDRH

J'ai contourné en insérant une cellule dans le tableau... qui doit avoir au moins trois lignes entete comprise.... et ça marche.... bidouillage !

Magasin.Select '
              Range("A3").Insert xlShiftDown

             Range("A3").Value = NMag

Bonjour

Soliution mise en oeuvre :

- au lieu de remplir la nouvelle ligne du tableau en une fois, je fais cellule par cellule....

- ou j'insère une ligne au début du tableau

Sheets("Mvt").ListObjects("TabMvt").ListRows.Add (1)

et je trie ensuite après avoir recopié la bonne mise en forme ( ligne 3 vers ligne 1...), pas très académique mais ça marche !

Cette ligne de code a t elle son pendant qui permette s'ajouter une loigne à la fin sans problème ??

Merci encore Jean Eric

Cordialement

FINDRH

Rechercher des sujets similaires à "remplir nouvelle bas tableau"