Besoin de macro excel pour copier cellules
carhec
Messages postés
3
Statut
Membre
-
carhec Messages postés 3 Statut Membre -
carhec Messages postés 3 Statut Membre -
Bonjour,
J'essaie de faire mes premiers pas en VBA.
Voici mon problème:
J'ai une feuille avec la colonne A remplie (a titre d'exemple) de la manière suivante:
A
1 Titre
2 Tito
3
4 Toti
5
6
7
8 Titi
9
10
11 Toto
12 Itit
13 Otot
Alors j'ai besoin d'automatiser la copie de A2 (Tito) dans A3 (vide), de A4 (Toti) dans A5, A6 et A7 (vides) et de A8 (Titi) dans A9 et A10 (vides).
Les valeurs/textes de la colonne A sont variables. Le nombre de lignes vides entre 2 cellules non vides le sont aussi. Parfois il y a aussi de cellules non vides consecutives (A11, A12 et A13) et la pas besoin d'y toucher.
Les cellules A1 et A2 sont toujours remplie.
Je vous remercie de votre aide.
J'essaie de faire mes premiers pas en VBA.
Voici mon problème:
J'ai une feuille avec la colonne A remplie (a titre d'exemple) de la manière suivante:
A
1 Titre
2 Tito
3
4 Toti
5
6
7
8 Titi
9
10
11 Toto
12 Itit
13 Otot
Alors j'ai besoin d'automatiser la copie de A2 (Tito) dans A3 (vide), de A4 (Toti) dans A5, A6 et A7 (vides) et de A8 (Titi) dans A9 et A10 (vides).
Les valeurs/textes de la colonne A sont variables. Le nombre de lignes vides entre 2 cellules non vides le sont aussi. Parfois il y a aussi de cellules non vides consecutives (A11, A12 et A13) et la pas besoin d'y toucher.
Les cellules A1 et A2 sont toujours remplie.
Je vous remercie de votre aide.
Configuration: Windows Vista Firefox 3.5.6
1 réponse
-
Bonjopur,
essaies:Option Explicit Sub remplir_sivide() Dim Derlig As Long, Lig As Long, Dep As Long Dim valeur Application.ScreenUpdating = False Derlig = Range("A65536").End(xlUp).Row Lig = Columns(1).Find("", Cells(2, 1), xlValues).Row - 1 While Lig < Derlig valeur = Cells(Lig, 1) Dep = Lig + 1 Lig = Columns(1).Find("*", Cells(Lig, 1), xlValues).Row - 1 Range(Cells(Dep, 1), Cells(Lig, 1)) = valeur Lig = Columns(1).Find("", Cells(Lig, 1), xlValues).Row - 1 Wend End Sub