Se connecter avec
S'enregistrer | Connectez-vous

Macro Excel - Copie de cellules de bas en haut

Dernière réponse : dans Programmation

Bonjour,

J'ai un tableau qui resemble a ca :

-
-
-
- A
-
-
- B
-
-
-
-
-
- C
-
- D
Les "-" sont des cellules.
Je voudrait copier les celulles de bas en haut quand celle ci sont vide, mais des que dans une celulles il y as un quelque chose, il faut copier cette nouvelle cellule dans les cellules du haut vide etc...
Vue que cela est pour differente colonne je voudrait faire une selection est lancer une macro baser sur cette selection pour copier. La selection peut etre assaz grande 15000 a 20000 cellules.
Resultat (cellules en gras est la cellules d'origine)
- A
- A
- A
- A
- B
- B
- B
- C
- C
- C
- C
- C
- C
- D
- D

J'espere que je me suis bien exprime.

Merci
Yann

Configuration: Windows Vista / Internet Explorer 7.0 /Excel 2003
Lassé par la pub ? Créez un compte
Expert Programmation

Te voilà dans le bon 'sub' forum :) 

Bon, si tu as plusieurs milliers de lignes à traiter, il va falloir faire bien les choses.

Alors voici ce que je te propose :
  • Vérifier que la sélection ne porte que sur une seule colonne.
  • Déterminer l'adresse de la dernière ligne de la sélection.
  • Remonter sans rien faire, tant que l'on a des cellules vides.
  • Quand on trouve une cellule non vide, retenir son adresse
  • Boucle : Remonter. Si la cellule est vide, on copie le contenu de la cellule retenue. Si la cellule est non vide, retenir son adresse.

    C'est tout. Maintenant, quelles étapes te posent problème en VB ?

    (Euh, pourquoi précises-tu l'OS et même le navigateur que tu utilises :??:  )

    Zeb,

    Le probleme c'est que en VB je ne connais vraiment pas grand chose. Je suis un lameur 100%.
    Quand j'ai besoin de quelque chose, ben je demande. Je tente bien sur de comprendre mais bon c'est pas la joie.

    Pour ce qui est de l'OS et du navigateur c'est une habitude.

    Merci
    Yann

    Bonjour,

    Il m'arrive souvent d'être confronté à ce genre de problème, et je n'est pas besoin de VBA pour cela (quand je peut m'en passer, j'évite).

    Il suffit d'utiliser les formules type L1C1 et remplacer les cellules vide par la formule qui vas bien.
    Lassé par la pub ? Créez un compte