Copier une cellule tant que la cellule en dessous est vide et boucler

Bonjour,

J'ai besoin copier des données d'un cellule vers la cellule en dessous tant que la cellule en dessous est vide. Puis refaire le même processus dès que la cellule suivante est non vide.

Voici un exemple qui explique mieux le résultat attendu.

ActuellementSouhaité
1018000010180000
10180000
10180000
10180000
1019000010190000
10190000
10190000
1019200010192000
10192000
Fin

Merci d'avance infiniment

Bonjour LTA, le forum,

A tester.....

Sub Bouton1_Cliquer()
 Dim i As Integer, dl As Integer '..............................................déclaration des variables

  Application.ScreenUpdating = False '..........................................désactive le rafraichissement de l'écran (évite le scintillement)

  With Sheets("Feuil1") '.......................................................agit sur la feuille 1
   dl = .Range("A" & Rows.Count).End(xlUp).Row '................................définit la dernière ligne utilisée en fonction de la colonne A
    For i = 1 To dl - 1 '.......................................................boucle de la première ligne à l'avant dernière
     If .Range("A" & i + 1) = "" Then .Range("A" & i + 1) = .Range("a" & i) '...remplit les cellules vides en fonction de la ligne supérieure
    Next i '....................................................................fin de la boucle
  End With
End Sub
11classeur1.xlsm (18.16 Ko)

Sub Bouton1_Cliquer()
 Dim i As Integer, dl As Integer '..............................................déclaration des variables

  Application.ScreenUpdating = False '..........................................désactive le rafraichissement de l'écran (évite le scintillement)

  With Sheets("Feuil1") '.......................................................agit sur la feuille 1
   dl = .Range("A" & Rows.Count).End(xlUp).Row '................................définit la dernière ligne utilisée en fonction de la colonne A
    i = 1  '....................................................................ligne de départ
    On Error Resume Next '......................................................en cas d'erreur, on passe à l'étape suivante
    While i <= dl '.............................................................boucle jusqu'à à la dernière ligne
     If .Range("A" & i) = "" Then .Range("A" & i) = .Range("A" & i - 1) '.......si cellule vide, on remplit avec la cellule précédente
     i = i + 1 '................................................................passe à la ligne suivante
    Wend
  End With
End Sub
8classeur1.xlsm (19.57 Ko)

Cordialement,

Rechercher des sujets similaires à "copier tant que dessous vide boucler"