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.
A voir également:
- Besoin de macro excel pour copier cellules
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Somme de plusieurs cellules excel - Guide
- Verrouiller cellules excel - Guide
- Word et excel gratuit - Guide
1 réponse
Bonjopur,
essaies:
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
Je te remercie vivement de ton aide.
cela marche parfaitement