boucle pour copie de celule

Jacques25

XLDnaute Occasionnel
Bonjour à tous,

J'ai un tableau de 17000 lignes sur lequel je souhaite réaliser un filtre. Pour cela il faut que je complète certaine colonne parce que seule la première ligne de la série contient le nom de la série (voir fichier joint pour la compréhension) la série peut être plus ou moins longue.

L'idée est de :
- boucler sur la colonne C depuis le haut (C1)
- si la cellule du dessous est vide on recopie la valeur juste au dessus
- sinon (cellule remplie on sort de la boucle pour recommencer un cycle

Ca c'est mon idée y'a peut être plus simple.
J'ai essayer plusieurs code comme celui ci mais rien ne marche

Sub Macro1()

deb = Range("C1")
dl = Range("C1").End(xlDown).Row


For i = 1 To 15
If Cells(dl + i, 3).Value = "" Then
Cells(dl + i, 3).Value = Cells(dl, 3).Value
Else
Exit For
Next i

End Sub

Si qq'un peut m'aider je suis preneur.

Merci à tous de votre compréhension.

Jacques
 

Pièces jointes

  • recopie val.xlsx
    7.8 KB · Affichages: 28

camarchepas

XLDnaute Barbatruc
Re : boucle pour copie de celule

Bonjour

Voici une solution possible

Code:
Sub complete()
Dim LigneFin As Long, Ligne_suite As Long
Dim lignedebut As Long

LigneFin = Range("D" & Rows.Count).End(xlUp).Row
lignedebut = 1
Do
 Ligne_suite = Range("C" & lignedebut).End(xlDown).Row - 1
 If Ligne_suite > LigneFin Then Ligne_suite = LigneFin
 Range("C" & lignedebut).AutoFill Destination:=Range("C" & lignedebut & ":C" & Ligne_suite)
 lignedebut = Ligne_suite + 1
Loop Until Ligne_suite = LigneFin

End Sub
 

Discussions similaires

Réponses
2
Affichages
531

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia