2 pièce(s) jointe(s)
Fonction ActiveWindow.SmallScroll / ActiveWindow.ScrollColumn
:help:
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) Pièce jointe 555302. 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)Pièce jointe 555304
Avez vous une idée de ce qui ne va pas dans mon code
Code Ajouter une ligne
Code:
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:
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:
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 :D:merci: