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
Configuration: Windows XP
Internet Explorer 6.0

10 réponses

  1. giheller
     
    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
  2. 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
  3. giheller
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. giheller
     
    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
  7. nirvana
     
    Je suis une "quiche" que viens faire la feuille 2 ? puisque ma base de données est sur la feuille 1
    0
  8. giheller
     
    juste un exemple tu prends ce que tu veux pour le mettre où tu veux
    0
  9. 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
  10. giheller
     
    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
  11. nirvan
     
    Merci de ton aide.
    Après de nombreuses tentatives et grâce ton aide j'ai réussi.

    Sel
    0