Bonsoir
J'ai un tableau structuré, sur lequel j'ai figé la ligne d’entête dans lequel j'ai crée plusieurs macros.

  • 1. Ajouter une ligne en fin de tableau en utilisant un bouton


Je clique une première fois sur le bouton et une ligne est créé en ligne 31 (dernière ligne de mon tableau) (Image1) Nom : Image 1.PNG
Affichages : 2724
Taille : 83,8 Ko. Je suis sur ma ligne et je la complète. Je souhaite rajouter une ligne en ligne 32, tout en utilisant le bouton. La ligne se crée bien en ligne 32, par contre à l'affichage, je suis sur la ligne 43 (Image2)Nom : Image 2.PNG
Affichages : 2655
Taille : 30,4 Ko
Avez vous une idée de ce qui ne va pas dans mon code

Code Ajouter une ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub AjouterLigne()
    ' Aller à la dernière cellule du tableau
        Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(0, 17).Select
    ' Ajouter une ligne
        SELECTION.ListObject.ListRows.Add AlwaysInsert:=False
    'Revenir colonne 1
        ActiveWindow.ScrollColumn = 1
    'Aller à la première cellule à compléter du tableau
        Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(0, 1).Select
    'Aller à la dernière ligne du tableau
        ActiveWindow.SmallScroll Down:=18
End Sub
  • 2. Aller à la fin du tableau ou au début du tableau


J'ai le meme problème dans les deux codes suivants, à savoir j'arrive bien à aller où je souhaite, par contre je pense que j'ai un souci dans l'utilisation des codes ActiveWindow.ScrollColumn, ActiveWindow.SmallScroll Down: , ActiveWindow.SmallScroll Up: et enfin ActiveWindow.SmallScroll ToRight. Ce qui fait que cela ne fonctionne pas tout à fait et que je n'arrive pas à revenir au bon endroit. En effet, il faudrait que je puisse donner un point de départ ou de fin sans préciser un chiffre exact, puisqu'il changera automatiquement en fonction du rajout de ligne. (est-ce tjs un pb lié à la ligne figée)

Code début de tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Sub DebutTableau()
     'Revenir colonne 1
        ActiveWindow.ScrollColumn = 1
    'Revenir cellule A6
        Range("A6").Select
  End Sub
Code fin de tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Sub FinTableau()
     'Aller à la dernière cellule du tableau
        Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(0, 17).Select
    'Aller à la dernière ligne du tableau
        ActiveWindow.SmallScroll Down:=18
    'Aller à la dernière colonne du tableau
        ActiveWindow.ScrollColumn = 17
  End Sub
Merci pour votre aide