Remplir un formulaire pour ajouter une nouvelle ligne dans un tableau

Bonjour,

j'ai créé la macro plus bas permettant, après le clic sur un bouton, de copier les données saisies dans la colonne B dela première feuille ("ENTRY"), et de les coller en tant que dernière ligne d'un tableau dans une seconde feuille ("Team Tracker").

La macro marche bien, cependant si des filtres sont activés, la ligne n'est pas collée à la fin du tableau mais par dessus la ligne qui suit la dernière ligne filtrée. et donc écrase les données déjà présentes.

Exemple: imaginons 6 lignes dans le tableau, et je veux créer la ligne 7.

Si j'active des filtres qui me font apparaitre uniquement les lignes 1 et 2 (et donc 3, 4, 5, 6 ne sont pas visible), alors la ligne 7 écrase les données de la ligne 3. et donc j'obtiens 1, 2, 7, 4, 5, 6.

Les entetes de mon tableau sont en ligne 3,

une idée :)?

Merci d'avance

Private Sub Integration_Reporting()

' message box

Sheets("ENTRY").Select

Dim ret As Integer

ret = MsgBox("Do you want to validate your submission?", vbYesNo)

If ret = vbNo Then

Exit Sub

Else

'copy ENTRY content into Tracker

Worksheets("ENTRY").Select

Range("B1:B39").Select

Selection.Copy

Worksheets("Team Tracker").Select

Range("A4").End(xlDown).Offset(1, 0).Select

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

End If

Sheets("Team Tracker").Select

End Sub

bonjour,

Prenez l'habitude de fournir systématiquement le classeur ou une copie suffisante du classeur qui va avec la question.

A+

Bonjour,

Remplace : Range("A4").End(xlDown).Offset(1, 0).Select

par : Range("A" & ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count).Select

Cela devrait fonctionner.

Bonsoir

une petite fonction trouvée sur le net, ce qui permet de faire le test et de supprimer le filtre éventuel :

' s'il y a un filtre on le supprime
    If EstFiltré("Planning") Then Feuil1.ListObjects(1).AutoFilter.ShowAllData

'******************************************
' fonction tirée du net : JacquesBoigontier
'******************************************
Function EstFiltré(NomTableau)
    EstFiltré = False
    If Range(NomTableau).ListObject.ShowAutoFilter Then
        If Range(NomTableau).ListObject.AutoFilter.FilterMode Then EstFiltré = True
    End If
End Function

@ bientôt

LouReeD

Rechercher des sujets similaires à "remplir formulaire ajouter nouvelle ligne tableau"