VBA recherche cellule dans colonne et calcul

Résolu
StagiaireVBA -  
 StagiaireVBA -
Bonjour,

Dans une colonne, il y a des cellules vides, je souhaite les parcourir une par une (les cellules vides de ma colonne) et les mettre a la valeure de la cellule qui se situe deux colonnes avant et une ligne au dessu (de la cellule vie en question)

j'ai essayé avec

i=0
Range("D7:D1500").Find("", , xlConstants, xlWhole).Activate

Do While i <> 40
ActiveCell.Value= ActiveCell.Offset(-1, -2).Value
Cells.FindNext(After:=ActiveCell).Activate
i=i+1
loop

mais cela ne fonctionne pas, j'ai le message :

L'indice n'apartient pas a la selection, et la deuxieme ligne est surlignée...

Si quelqu'un a une idée?

Merci d'avance!

3 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour

ta variable 'i" sert à quoi? et pourquoi 40 ?

dans l'atente
0
StagiaireVBA
 
Bonjour michel_m,

Dans la colonne en question il y aura au maximum 40 cellules vide donc le i sert à lui faire repeter 40 fois la recherche pour qu'il les trouve toutes mais qu'il ne parcour pas toutes les cellules de la colonne jusqu'a la 63000 et des poussières.. Enfin c'était l'intention!
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
re,

essaies
Sub affecter_cellvide()
Dim lig As Integer, cptr As Byte
lig = 6
For cptr = 1 To 40
    lig = Columns(4).Find("", Cells(lig, 4), xlValues).Row
    Cells(lig, 4) = Cells(lig - 1, 2)
Next

End Sub

0
StagiaireVBA
 
Bonjour,

Merci beacoup, ca fonctionne parfaitement, je viens tout juste de le tester.
C'est une bonne journée qui commence!

Bonne Journée
0