Copier une cellule tant que la cellule en dessous est vide et boucler
L
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.
| Actuellement | Souhaité |
| 10180000 | 10180000 |
| 10180000 | |
| 10180000 | |
| 10180000 | |
| 10190000 | 10190000 |
| 10190000 | |
| 10190000 | |
| 10192000 | 10192000 |
| 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
Où
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
Cordialement,