XL 2021 Réaliser une macro pour copier une ligne avec formule ?

fanou06

XLDnaute Occasionnel
Bonjour,

J'ai créé une macro permettant dans le premier tableau de demiurge d'ajouter des lignes en copiant les formules. Mais j'ai enregistré à partir de la ligne 19.
Cependant si je veux ajouter dans le second tableau (par exemple FDCD qui va de la ligne 50 à 79, je dois réaliser une autre macro ?

Merci.

PS :
macro utilisée :
Touche de raccourci du clavier: Ctrl+d
'
Rows("19:19").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.SmallScroll ToRight:=3
Range("Q18").Select
ActiveWindow.SmallScroll ToRight:=-3
Rows("18:18").Select
Selection.Copy
Rows("19:19").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("C20").Select
End Sub
 

Pièces jointes

  • CFX_ESI_2023_2024_V_ESSAI.xlsm
    302.5 KB · Affichages: 4
Dernière édition:
Solution
Bonjour @fanou06

Lais j'ai l'impression ca ajoute plusieures lignes sur plusieurs tableaux ?

Remarques:
1) Dans ton fichier il n'y a aucun tableau vu d'excel
2) Ma macro rajoute une ligne toutes les 38 lignes
==> Pourquoi 38 car c'est le nombre de lignes que tu as entre 2 groupes Cordoue à FDCD
Je te conseillerais de mettre le même nombre de ligne entre chaque groupe dans un souci de cohérence
Cordoue ==> FDCD ==> Gap ==> Orbe etc....

Ensuite suivant le nombre de lignes que tu as mis tu adaptes

For i = 18 To DerLig - 25 Step 38 '38 est l'intervalle entre 2 sections à adapter éventuellement
pour que les lignes s'ajoutent partout toutes les X lignes
C'est pourquoi j'ai précisé

Phil69970

XLDnaute Barbatruc
Bonjour @fanou06

De ce que j'ai compris je te propose ceci
VB:
Sub Macro1()
Dim DerLig&, i&
DerLig = Range("O" & Rows.Count).End(xlUp).Row

For i = 18 To DerLig - 25 Step 38 '38 est l'intervalle entre 2 sections à adapter éventuellement
    Rows(i & ":" & i).Copy
    Range("A" & i).Insert Shift:=xlDown
    Application.CutCopyMode = False
Next i
Range("C20").Select
End Sub

Merci de ton retour
 

Phil69970

XLDnaute Barbatruc
Bonjour @fanou06

Lais j'ai l'impression ca ajoute plusieures lignes sur plusieurs tableaux ?

Remarques:
1) Dans ton fichier il n'y a aucun tableau vu d'excel
2) Ma macro rajoute une ligne toutes les 38 lignes
==> Pourquoi 38 car c'est le nombre de lignes que tu as entre 2 groupes Cordoue à FDCD
Je te conseillerais de mettre le même nombre de ligne entre chaque groupe dans un souci de cohérence
Cordoue ==> FDCD ==> Gap ==> Orbe etc....

Ensuite suivant le nombre de lignes que tu as mis tu adaptes

For i = 18 To DerLig - 25 Step 38 '38 est l'intervalle entre 2 sections à adapter éventuellement
pour que les lignes s'ajoutent partout toutes les X lignes
C'est pourquoi j'ai précisé
'38 est l'intervalle entre 2 sections à adapter éventuellement
 

Discussions similaires

Réponses
3
Affichages
685

Statistiques des forums

Discussions
313 283
Messages
2 096 811
Membres
106 751
dernier inscrit
Souleymani