Réduire une plage sélectiionnée

katoch300 -  
 katoch300 -
Bonjour,
Dans une macro (créée en enregistrement de touche) je souhaiterais copier le contenu d'un champs "A1" sur les champs vide dessous de "A2" à "A4"

A1 Pomme
A2
A3
A4
A5 Poire

mais je voudrais utiliser cette macro pour les lignes suivantes "A5" à copier sur... et ainsi de suites

Le problème est que l'instruction Range me donne toujours la même plage de cellules.

Comment indiquer une plage NON fixe.

Merci pour votre aide
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. Olivier
     
    Bonjour,

    Est-ce que la macro ne sert qu'à ça ?

    Si oui, cela peut se faire avec une formule Excel sur une 3eme colonne C :

    =si(b2="";c1;b2)

    (à coller en C2 et à étendre sur toute la hauteur)

    Sinon, en macro enregistrement de touche, cela pourrait marcher de la manière suivante :

    sélectionner Pomme
    Copier le contenu (ctrl + C)
    aller à l'enregistrement suivant avec ctrl + fleche vers le bas
    remonter d'une case avec fleche vers le haut
    sélectionner l'ensemble des cases vide et le pomme d'origine avec ctrl + shift + fleche vers le haut
    coller (ctrl + V)
    descendre sur poire avec ctrl + fleche vers le bas

    et on recommence

    j'espère que ca répond à la question !
    0
    1. katoch300
       
      Bonjour,

      Merci pour votre aide concluante.
      0
  2. katoch300
     
    Bonjour,
    C'est ok avec quelques aménagements pour remplacer les code Range

    ActiveCell.Offset(0, 0).Activate
    Selection.Copy
    Selection.End(xlDown).Select
    ActiveCell.Offset(-1, 0).Activate
    Range(Selection, Selection.End(xlUp)).Select
    ActiveSheet.Paste
    Selection.End(xlDown).Select

    Et cela fonctionne.

    Merci pour votre aide
    0