OVH Cloud OVH Cloud

Remplissage avec une macro

3 réponses
Avatar
Michel
Bonjour,

Voilà, dans la colonne B, j'ai des chiffres, 1 2 3, etc... mais qui sont
séparés par plusieurs lignes ce qui donne par exemple la situation suivante :
en B1 le chiffre 1, et B7 le chiffre 2, en B10 le chiffre 42, etc... et je
voudrais pouvoir remplir les cellules B2 à B6 avec le chiffre 1, les cellules
B8 à B9 avec le chiffre 2, etc..., soit chaque fois remplir l'espace vide
avec le chiffre du haut. Est-ce possible avec une macro ?

Merci de votre aide

Michel

3 réponses

Avatar
papou
Bonjour
Exemple à adapter :
Sub RemplirLesVides()
With Worksheets(1).Range("B1:B50")
Set c = .Find("", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = c.Offset(-1, 0).Value
Set c = .FindNext(c)
On Error Resume Next
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub

Cordialement
Pascal

"Michel" a écrit dans le message de news:

Bonjour,

Voilà, dans la colonne B, j'ai des chiffres, 1 2 3, etc... mais qui sont
séparés par plusieurs lignes ce qui donne par exemple la situation
suivante :
en B1 le chiffre 1, et B7 le chiffre 2, en B10 le chiffre 42, etc... et je
voudrais pouvoir remplir les cellules B2 à B6 avec le chiffre 1, les
cellules
B8 à B9 avec le chiffre 2, etc..., soit chaque fois remplir l'espace vide
avec le chiffre du haut. Est-ce possible avec une macro ?

Merci de votre aide

Michel


Avatar
Denis
Bonjour,
vu sur un exemple de je ne sais plus qui
Sub completer()
' cherche la dernière ligne de B
x = [B65536].End(xlUp).Row
' de B1 à A dernière ligne, si la cellule est vide
For Each c In Range("B1: B" & x).SpecialCells
(xlCellTypeBlanks)
' la remplir avec la précédente valeur connue
c.Value = Range(c.Address).End(xlUp).Value
Next
End Sub

Denis
-----Message d'origine-----
Bonjour,

Voilà , dans la colonne B, j'ai des chiffres, 1 2 3,
etc... mais qui sont

séparés par plusieurs lignes ce qui donne par exemple
la situation suivante :

en B1 le chiffre 1, et B7 le chiffre 2, en B10 le chiffre
42, etc... et je

voudrais pouvoir remplir les cellules B2 Ã B6 avec le
chiffre 1, les cellules

B8 Ã B9 avec le chiffre 2, etc..., soit chaque fois
remplir l'espace vide

avec le chiffre du haut. Est-ce possible avec une macro ?

Merci de votre aide

Michel
.



Avatar
AV
...vu sur un exemple de je ne sais plus qui


14/09/04 11:46
MACRO [si la cellule est vide copier celle du dessus.]
--> réponse 15:13

AV