Insertion d'une ligne avec une macro

nirvana -  
 nirvan -
Bonjour à tous
C'est la première fois que je pose une question sur ce forum, et j'ai l'impression que vous êtes tous super caler en macro.
Mon problème est le suivant :

J'ai besoin d'une macro qui recopie une ligne afin de m'éviter de resaisir la ligne.
J'ai fait des tentives mais je recopie toujours la même ligne, alors que le doublon que je dois faire peut être sur n'importe quelle ligne.

J'espère que je suis claire.

Merci d'avance à tous
Nirvana
A voir également:

10 réponses

Utilisateur anonyme
 
Bonsoir,
Dans excel ?

pourquoi une macro ? dans une celleule on peut dire =l'adresse de la cellule à copier.

Ou alors donnes un peu plus de détail.
0
nirvana
 
Bonjour JL, merci de t'intéresser à mon petit souci.

J'étais sure que mon explication ne serait pas très claire.
Voilà le problème
Donc sur Excel il faut que je puisse au niveau de n'importe quelle ligne

Premièrement insérer une ligne en dessous de cette fameuse ligne
Deuxièmement recopier ladite ligne.

Biensur jusqu'à présent j'inserais une ligne de manière tout à fait classiquement et je faisais un copier coller. Mais serait-il possible de créer une macro qui par exemple si je me positionne sur la ligne 10 m'insère une ligne vide en dessous et en même temps me recopie la ligne 10.
et de même pour n'importe quelle ligne.
0
Utilisateur anonyme
 
Bonjour,
Bien sûr que c'est possible.

cela donne quelque chose comme ça :

'sélection et insertion d'une ligne
Rows("10:10").Select
Selection.Insert Shift:=xlDown

'sélection de la ligne à insérer
Sheets("Feuil2").Select
Rows("9:9").Select
Selection.Copy

'sélection de l'endroit où insérer
Sheets("Feuil1").Select
'insertion
ActiveSheet.Paste
0
nirvana
 
Bonjour Quelle rapidité dans ta réponse.

Bon il faut que je l'avoue je ne comprend pas grand chose aux macros, d'ailleurs cela doit se voire.
Jusqu'à maintenant je faisais uniquement des petites macros ringardes grâce au système d'enregistrement. Alors pour moi c'est du chinois les codes VBA peux-tu me guider un peu plus, si tu veux je t'appelle.
Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Je que j'ai écrit est typiquement la façon dont tu a déjà fait tes "macros ringardes"
j'y ai ajouté les commentaires.

j'ai inséré une ligne en 10 sur la feuille1
je suis allé copier la ligne 9 de la feuille 2 et je l'ai copiée dans la feuille1.

0
nirvana
 
Je suis une "quiche" que viens faire la feuille 2 ? puisque ma base de données est sur la feuille 1
0
Utilisateur anonyme
 
juste un exemple tu prends ce que tu veux pour le mettre où tu veux
0
nirvana
 
La quiche commence à connecter les neurones !!!!
Mais je dois louper encore quelque chose parce que je recopie toujours la même ligne
Si tu as encore un peu pitié de mon ignorance
Merci
0
Utilisateur anonyme
 
il faut sélectionner la ligne que tu veux copier.

alors tu peux faire une boucle (code ci après non testé)

for i = 10 to ?

Rows(cstr(i):cstr(i)).Select
Selection.Insert Shift:=xlDown
j = n° de ligne à copier
Rows(cstr(j):cstr(j)).Select
Selection.Copy

'sélection de l'endroit où insérer
Sheets("Feuil1").Select
'insertion
ActiveSheet.Paste
next i
0
nirvan
 
Merci de ton aide.
Après de nombreuses tentatives et grâce ton aide j'ai réussi.

Sel
0