Excel-macro
Résolu
doumé
-
doumé -
doumé -
Bonjour,
j'ai un tableau sur excel et je voudrais créer une macro qui insere automatiquement une nouvelle ligne avant la dernière ligne du tableau ,quand j'entre un chiffre dans la première cellule de l'avant dernière ligne et ainsi de suite afin d'avoir toujours une ligne de libre en bas du tableau.
merci d'avance
j'ai un tableau sur excel et je voudrais créer une macro qui insere automatiquement une nouvelle ligne avant la dernière ligne du tableau ,quand j'entre un chiffre dans la première cellule de l'avant dernière ligne et ainsi de suite afin d'avoir toujours une ligne de libre en bas du tableau.
merci d'avance
A voir également:
- Excel-macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
4 réponses
bonjour
Est-ce que tu as des formules et des formats sur ton avant dernière ligne que tu veux mettre sur ta nouvelle ligne ?
Par exemple :
- tu as saisis la ligne 7 entièrement
- en A8 tu saisis ta cellule
- ceci doit insérer une ligne en 9 avec la structure de ta ligne 8
- l'ancienne ligne 9 (fin de tableau je suppose) se retrouve en ligne 10.
Est-ce bien ce que tu souhaites ?
Est-ce que tu as des formules et des formats sur ton avant dernière ligne que tu veux mettre sur ta nouvelle ligne ?
Par exemple :
- tu as saisis la ligne 7 entièrement
- en A8 tu saisis ta cellule
- ceci doit insérer une ligne en 9 avec la structure de ta ligne 8
- l'ancienne ligne 9 (fin de tableau je suppose) se retrouve en ligne 10.
Est-ce bien ce que tu souhaites ?
c'est tout à fait ça ,j'ai effectivement des formules dans la dernière ligne ,c'est pour ça que je veux que l'insertion se fasse sur l'avant dernière ligne ,afin de préserver les formules
merci
merci
bonjour
Dans ce cas, tu peux mettre le code suivant dans ta feuille concernée (mode d'emploi)
Lorsque tu saisis une valeur en colonne A dans une cellule vide, une ligne est insérée dessous avec recopie des formules éventuelles de ta ligne et la ligne suivante n'est pas touchée.
Dans ce cas, tu peux mettre le code suivant dans ta feuille concernée (mode d'emploi)
Private val As Variant
Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If sel.Count = 1 Then val = sel.Value
End Sub
Private Sub Worksheet_Change(ByVal sel As Range)
If sel.Column = 1 And val = "" Then
Dim col As Integer
Application.EnableEvents = False
Rows(sel.Row + 1).Insert
For col = 1 To Cells(sel.Row).SpecialCells(xlCellTypeLastCell).Column
If Cells(sel.Row, col).HasFormula Then
Cells(sel.Row, col).Copy Destination:=Cells(sel.Row + 1, col)
End If
Next col
Application.EnableEvents = True
End If
End Sub
Lorsque tu saisis une valeur en colonne A dans une cellule vide, une ligne est insérée dessous avec recopie des formules éventuelles de ta ligne et la ligne suivante n'est pas touchée.