Insertion d'une ligne avec une macro

nirvana - 31 janv. 2008 à 18:20
 nirvan - 11 févr. 2008 à 19:09
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
31 janv. 2008 à 18:53
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
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
1 févr. 2008 à 14:21
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
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
1 févr. 2008 à 14:44
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
Je suis une "quiche" que viens faire la feuille 2 ? puisque ma base de données est sur la feuille 1
0
Utilisateur anonyme
1 févr. 2008 à 15:00
juste un exemple tu prends ce que tu veux pour le mettre où tu veux
0
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
1 févr. 2008 à 16:57
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
Merci de ton aide.
Après de nombreuses tentatives et grâce ton aide j'ai réussi.

Sel
0