VBA - macro ajout ligne fin tableau
abloin
Messages postés
30
Statut
Membre
-
g Messages postés 1285 Statut Membre -
g Messages postés 1285 Statut Membre -
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
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
A voir également:
- VBA - macro ajout ligne fin tableau
- Tableau word - Guide
- Partager photos en ligne - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Tableau ascii - Guide
- Trier un tableau excel - Guide
1 réponse
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.
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.