Copier la première cellule non vide sur les prochaines cellules vides

Bonjour,

Je cherche le bon code VBA pour mon fichier.

Ce que je dois faire :

Copier la première cellule non vide (A2) sur les prochaines cellules vides de la même ligne, jusqu'à trouver une cellule non vide et la copier également sur les prochaines cellules vides

Exemple :

Cellule A1 vide mais doit le rester

A2 non vide (date) que je dois coller sur les 5 cellules suivantes (toujours dans la ligne 1)

A8 non vide (date) que je dois coller sur les 7 suivantes

A16 non vide, etc.....

Idéalement le code devrait prendre fin à la dernière cellule non vide de la ligne A (la dernière cellule non vide n'étant pas connue d'avance, mais différente à chaque export de fichier)

J'ai trouvé plusieurs codes mais je ne parviens pas à les adapter à ma situation

Merci beaucoup et excellente journée à tous

Bonjour,

Ci-contre le code demandé pour un remplissage automatique des lignes vides avec les valeurs d'au dessus :

Sub REMPLISSAGE()
Dim LR As Long, L As Long
With ActiveSheet
    LR = .Cells(.Rows.Count, 1).End(xlUp).Row
    For L = 1 To LR
        If .Cells(L, 1) = "" Then .Cells(L, 1) = .Cells(L, 1).Offset(-1)
    Next L
End With
End Sub

Cdlt,

Ce qui vaudrait tous les discours serait de proposer une simple feuille avec une ligne à traiter sur la ligne 1 et le résultat attendu sur la 2.

Merci pour le conseil Optimix, je ferai comme cela à l'avenir

Voici le fichier reprenant ce que j'ai en première ligne, et ce que je cherche à obtenir en seconde

Merci beaucoup pour votre aide

Bonjour à tous

En reprenant la macro d'Ergotamine

Sub REMPLISSAGE()
Dim LR As Long, L As Long, DC As Long, C As Long
With ActiveSheet
    LR = .Cells(.Rows.Count, 2).End(xlUp).Row
    DC = .Cells(1, Columns.Count).End(xlToLeft).Column

    For L = 1 To LR
      For C = 2 To DC
        If .Cells(L, C) = "" Then .Cells(L, C) = .Cells(L, C).Offset(, -1)
      Next C
    Next L
End With
End Sub

Bonjour tout le monde.
Même solution, la fin des lignes n'étant pas forcément au même endroit :

Option Explicit

Sub Macro3()
    Dim nC As Integer, nL As Long, i As Long, j As Long

    nL = Cells(Rows.Count, "B").End(xlUp).Row
    For j = 1 To nL
        nC = Cells(j, Columns.Count).End(xlToLeft).Column
        For i = 3 To nC - 1
            If Cells(j, i) = "" Then
                Cells(j, i) = Cells(j, i - 1)
            End If
        Next i
    Next j
End Sub

Ca fonctionne parfaitement ! Merci, merci, merci !

Rechercher des sujets similaires à "copier premiere vide prochaines vides"