Macro insertion ligne

  • Initiateur de la discussion Initiateur de la discussion fif2208
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

fif2208

Guest
Bonjour à tous,

J'ai un petit tableau et j'essaye de créer une macro qui insérait une nouvelle ligne à la suite de la dernière en copiant la ligne 5 mais uniquement les formules et le format des colonnes A et B mais sans la valeur de la colonne C.

J'ai essayé avec l'éditeur de macro mais cela ne fonctionne pas vraiment alors je demande votre aide.

Je vous remercie.
 

Pièces jointes

Re : Macro insertion ligne

Bonjour.
Je recommanderais de changer les formules: en A2:
Code:
=LIGNE()-3
en B2:
Code:
=B$4+LIGNE()-4
Puis propager jusqu'à la ligne 17
Faire une copie de la dernière ligne, l'insérer devant elle même, puis d'effacer la C18 (18 étant la nouvelle dernière ligne)

À +
 
Re : Macro insertion ligne

Bonjour à tous,

avec ce code:
Code:
Sub Macro1()
Application.ScreenUpdating = False
derligne = Range("A65535").End(xlUp).Row
    Rows(derligne).Select
    Selection.Copy
    Range("A" & derligne + 1).Select
    ActiveSheet.Paste
    Cells(derligne + 1, 3).ClearContents
    Application.CutCopyMode = False
    Cells(derligne + 1, 3).Select
Application.ScreenUpdating = True
End Sub
à+
Philippe
 
Re : Macro insertion ligne

Bonjour fif2208, Dranreb,

Comme demandé, voici un exemple de macro, à insérer dans un module standard :

Code:
Sub Copie()
Dim Lg As Long
    Lg = Range("A65536").End(xlUp).Row + 1
    Range("A5:C5").Copy Destination:=Range("A" & Lg & ":C" & Lg)
    Range("C" & Lg).ClearContents
End Sub

Espérant avoir répondu.

Cordialement.

Edit : bonjour Philippe.
 
Dernière édition:
Re : Macro insertion ligne

L'avantage de l'insertion devant elle même de la dernière ligne c'est que si une formule, une zone d'impression ou un nom se réfère à la dernière ligne, il se réfèrera automatiquement après l'opération à la NOUVELLE dernière ligne.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim L As Long
If Target.Rows.Count <> 1 Then Exit Sub
L = Me.[A65536].End(xlUp).Row
If Target.Row = L + 1 Then
   Me.Rows(L).Copy: Me.Rows(L).Insert
   L = L + 1
   Me.Cells(L, 3).ClearContents
   Me.Cells(L, 3).Select
   End If
End Sub
À +
 
Dernière édition:
Re : Macro insertion ligne

Merci à vous quatre pour vos réponses rapides.

J'ai choisi la macro Papou-net car c'est la plus simple pour moi.

Mais, j'ai juste un petit souci. En fait mon tableau a 7 colonnes (donc jusqu'à G), que dois-je modifier dans la macro de Papou-net pour ajuster la macro à mon tableau ?

La macro de Dranreb me conviendrait parfaitement également mais quand je copie le code, je ne la retrouve pas en exécution. Faut-il que je rajoute un titre à la macro ou quelque chose d'autre pour que ça fonctionne et comment faire pour ajuster jusqu'à la colonne G?

Je vous remercie.
 
Re : Macro insertion ligne

Re fif2208,

Tu peux modifier la macro comme suit :

Code:
Sub Copie()
Dim Lg As Long
    Lg = Range("A65536").End(xlUp).Row + 1
    Range("A5:G5").Copy Destination:=Range("A" & Lg & ":G" & Lg)
    Range("C" & Lg & ":G" & Lg).ClearContents
End Sub

Si tu dois modifier les cellules à effacer, tu changes la plage

Code:
Range("C" & Lg & ":G" & Lg).ClearContents
par celle qui convient.

Quand à la macro de Dranreb, c'est une macro événementielle :

Tu double-cliques sur le nom de ta feuille dans la fenêtre Projet de VBA, puis tu saisis sa macro dans la fenêtre de code. Mais dans cette solution, j'attire ton attention sur le fait qu'à chaque fois que tu cliqueras dans la première ligne vide, ça aura pour effet de rajouter une ligne.

Espérant avoir répondu.

Cordialement.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
315
Réponses
7
Affichages
357
Réponses
2
Affichages
469
Retour