Excel-macro
Résolu/Fermé
A voir également:
- Excel-macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
4 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
6 févr. 2009 à 21:41
6 févr. 2009 à 21:41
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
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
8 févr. 2009 à 19:14
8 févr. 2009 à 19:14
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.