Bonsoir à tous,

il s'agit de ma première tentative de création d'un programme sous vba (j'avais déjà vu turbo pascal mais bon, c'est pas le même principe de programmation).

Description des données de base :

Je dispose dans la colonne A d'une feuille excel de noms, séparés par des cellules vides.

Par exemple,

cellule A1 : maison
plage (A2:A10) : vide
cellule A11 : verte
plage (A12:A14) : vide

Le but du programme est de remplir les cellules vides avec le nom précédent. Par exemple, le programme doit ici remplir la plage (A2:A10) avec "maison" et la plage (A12:A14) avec "verte".


j'ai déjà le code suivant, mais je bloque maintenant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub frt()
 
Dim i As Long
 
    For i = 2 To 65936
 
'initialisation de la boucle
 
    Cells(i, 1).Activate
        Do While ActiveCell.Value <> Empty
 
'définition de la condition dans mon idée tant que la cellule parcourue est vide alors
'le programme fait un copier/coller.
        Cells(i - 1, 1).Copy
        Selection.Copy
        cells(i, 1).Paste
        Selection.Paste
        If ActiveCell.Value.false <> Empty Then Exit Do
'si le programme rencontre une cellule pleine, alors il sort de la boucle do et change de i
       Loop
 
    Next i
 
End Sub
Je ne comprends pas pourquoi je ne peux pas faire de copier/coller sur une cellule.

A mon avis, ce ne doit pas être la seule erreur, mais la programmation ce n'est pas ce que j'ai le plus étudié pendant ma scolarité...je m'y remet maintenant.

Bonne soirée et merci d'avance pour vos observations.