Rechercher : dans
Par :

VBA - macro ajout ligne fin tableau

Dernière réponse le 27 jun 2009 à 07:50:32 abloin, le 26 jun 2009 à 23:47:56 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un tableau sur une feuille Excel avec dans la première colonne un numéro.
Par ex :
Col 1 ; Col 2
1 ; TEXT1
2 ; TEXT2

( les ";" sont présents pour représenter les changements de colonnes)

Je souhaite créer une macro qui me permette d'ajouter une nouvelle ligne à la suite de mon tableau me permettant d'afficher
3 ""
c'est à dire le n° suivant de ligne mais pas le texte (la case doit être vide).

Pouvez-vous m'aider à résoudre mon problème svp ?
il me manque je pense une dernière ligne dans ma macro pour effacer le contenu des cellules (en dehors de la première colonne)
Si vous avez une solution plus simplé, n'hésitez pas ! Merci

Voici le début de la macro que j'ai commencé à écrire (je la donne à titre indicatif car elle n'illustre pas l'exemple très simple que j'ai pris ci-dessus pour illustrer mon tableau) :
Sub Macro1()
'macro utilisé pour créer une nouvelle ligne
'Aller en A5
Range("A5").Select
'Tester si la cellule de dessous est vide, si non descendre d'une ligne
While ActiveCell.Offset(1, 0).Value <> ""
ActiveCell.Offset(1, 0).Select
Wend
'Quand la dernière valeur du tableau est trouvée, sélectionner le nombre de colonnes concernées
ActiveCell.Range("A1:R1").Select
'Recopier le contenu sur une ligne vers le bas
Selection.AutoFill Destination:=ActiveCell.Range("A1:R2"), Type:=xlFillDefault

Meilleures réponses pour « VBA macro ajout ligne fin tableau » dans :
Tableur - La sélection des cellules VoirSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a...

1

 g, le 27 jun 2009 à 07:50:32

Bonjour,

Code à copier dans le module de feuille:

Private Sub Worksheet_Change(ByVal Target As Range)
i = Target.Row
If Target.Column = 2 Then
Cells(i + 1, 1).Value = Cells(i, 1).Value + 1
End If
End Sub

Tu saisis le premier numéro dans une cellule de la colonne A.
Ensuite chaque fois que tu effectue une saisie en colonne B le numéro de la rangée suivante s'affiche.
Tu peux modifier la colonne de saisie à la ligne 3.

Bonne suite.

Répondre à g