<< Retour au sommaire

 

VBA, Création d’une macro de saisie automatique dans un tableau EXCEL

 

 

 

Ici, grâce à InputBox, nous allons voir comment élaborer une macro permettant d’insérer une nouvelle ligne.

La macro va rechercher le bas de la région de données depuis la dernière cellule de la feuille.

Ainsi, quelle que soit la position du curseur au moment de l’appel de la macro, la fin de la région de données devrait être atteinte sans aucune difficulté…

Mais nous allons devoir utiliser la commande Selection.end, je vous la présente ?

 

Selection.end

Permet d’atteindre le début ou la fin d’une région de données.

La syntaxe :

Selection.End(Direction).Select

 

La description :

Direction peut prendre deux valeurs :

XlUp pour atteindre la première ligne de la région de données.

XlDown pour atteindre la dernière ligne de la région de données.

 

Dans le cadre de cet exercice, vous devez au préalable créer un tableau contenant 3 colonnes, Noms, Prénoms et Ages, c’est d’ailleurs cela une région de données, c’est un tableau contenant des lignes de données, des valeurs..

 

Voici le code VISUAL BASIC :

 

Sub AjouterLigne()

'

' AjouterLigne Macro

'

' Touche de raccourci du clavier: Ctrl+y

' Demande à l'utilisateur de saisir le nom, le prénom et l'âge d'un contact

Prenom = InputBox("Saisissez un prénom ")

Nom = InputBox("Saisissez un nom ")

Age = InputBox("Saisissez un âge ")

' Atteindre la dernière ligne de la feuille de calculs

Range("A65536").Select

' Atteindre la dernière ligne de la région de données précédente

Selection.End(xlUp).Select

' Passer à la ligne suivante

ActiveCell.Offset(1, 0).Select

' écriture du nom

ActiveCell.Value = Nom

' passage à la cellule de droite

ActiveCell.Offset(0, 1).Select

' écriture du prénom

ActiveCell.Value = Prenom

' passage à la cellule de droite

ActiveCell.Offset(0, 1).Select

' écriture de l'âge

ActiveCell.Value = Age

End Sub

 

Philippe BOULANGER