insertion automatique de ligne dans une liste

  • Initiateur de la discussion Initiateur de la discussion Pierre Legrand
  • 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 !

P

Pierre Legrand

Guest
Bonjou, une petite question de débutant :

j'ai une liste d'OP comptable sous la forme : date,libelle,montant (format excel xp)

Je souhaite pouvoir entre toutes les lignes insérer 2 autres lignes sur le meme format (meme contenus pour toute la page.

C'est trés facile en manuel, mais est t'il possible de l'automatiser sur la liste entiére (2000/3000 lignes) ?

merci de votre réponse
 
Bonsoir le forum

Peut-etre que ceci pourrait t'aider Pierre

Option Explicit
Sub ajouter_lignes()
Dim ligne As Integer
For ligne = Range("A65535").End(xlUp).Row To 3 Step -1
With Rows(ligne & ":" & ligne)
.Insert Shift:=xlDown
.Insert Shift:=xlDown
End With
Rows(ligne - 1 & ":" & ligne - 1).Copy
Rows(ligne & ":" & ligne + 1).PasteSpecial Paste:=xlFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next ligne

End Sub

Mytå
 
Bonsoir à tous,

Je pense qu'il y a plusieurs solutions, mais j'ai trouvé celle là la plus simple:
On copie la plage A1:E1 puis insére deux à deux les les cellules copiées où l'on efface les valeurs avec clearcontents


Sub inserligne()
Dim L As Integer
L = Sheets("Feuil1").Range("A65536").End(xlUp).Row
For i = L To 1 Step -1
Range("A1", "E1").copy
Range("A" & i, "E" & i).insert xldown
Range("A" & i, "E" & i).clearcontents
Range("A" & i, "E" & i).insert xldown
Range("A" & i, "E" & i).clearcontents
Next i
application.cutcopymode=false
End Sub


A+++
 
re le forum

Un autre facon de voir c'est bien Zon

Je remplacerais par contre
.....
Range("A" & i, "E" & i).clearcontents
Next i
application.cutcopymode=false
End Sub

par
......
Range("A" & i, "E" & i).clearcontents
application.cutcopymode=false
Next i
End Sub

Et tu Dim L as Integer mais ta oublier pour le i

A+ Mytå
 
Re,


Mytâ, je vois que tu appliques les conseils de Thierry à la lettre:

Effectivement j'ai oublié une déclaration de i (je n'ai pas d'option Explicit...)et de vider le pressepapier dans ma boucle.

Enfin tu peux remplacer
Rows(ligne & ":" & ligne + 1).PasteSpecial Paste:=xlFormats Operation:=xlNone, SkipBlanks:=False, Transpose:=False

par

Rows(ligne & ":" & ligne + 1).PasteSpecial xlFormats



A+++
 
merci, les 2 formules fonctionnent pour insérer 2 lignes.

Mais comment faire pour que mes 2 lignes insérés ne soient pas vierges, mais reprenne le contenu du presse papier (ou de 2 lignes spécifiques) ?

d'avance merci de vos réponses
 
Bonjour Naima

Je ne voudrai pas repondre a quoique se soit,mais je desire vivement faire votre connaissance, du fait qu'on a le meme nom de famille.
Je veux connaitre ma famille.
Je suis de Guelma, et c'est plein de Hamici la bas,notre origine est de JIJEL
d'apres l'histoir.
En fin bref, repondez moi on en discutera bien
Merci de votre comprehension
Salutations.
Abdelhalim HAMICI
 
- 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

Retour