OVH Cloud OVH Cloud

répéter une valeur dans une colonne

6 réponses
Avatar
Christophe Cerbourg
Bonjour,

dans une colonne dont seulement quelques lignes sont renseignées, je cherche
à répéter la valeur de la dernière ligne non vide dans les cellules vides du
dessous, jusqu'à une nouvelle cellule non vide, etc...
Exemple :

aaa


bbb

ccc



ddd

doit devenir
aaa
aaa
aaa
bbb
bbb
ccc
ccc
ccc
ccc
ddd
ddd
etc...

Merci pour toute idée car le fichier est très gros et je ne me sens pas trop
de faire ça à la mimine...

6 réponses

Avatar
docm
Bonjour Christophe Cerbourg.

C'est plus rapide en VBA qu'à la mimine.

Sub test()
colonne = 1
derniere = ActiveCell.SpecialCells(xlLastCell).Row
For ligne = 2 To derniere
If Cells(ligne, colonne) = "" Then
Cells(ligne - 1, colonne).Copy Cells(ligne, colonne)
End If
Next

End Sub

Salutations.

"Christophe Cerbourg" wrote in message
news:
Bonjour,

dans une colonne dont seulement quelques lignes sont renseignées, je
cherche

à répéter la valeur de la dernière ligne non vide dans les cellules vides
du

dessous, jusqu'à une nouvelle cellule non vide, etc...
Exemple :

aaa


bbb

ccc



ddd

doit devenir
aaa
aaa
aaa
bbb
bbb
ccc
ccc
ccc
ccc
ddd
ddd
etc...

Merci pour toute idée car le fichier est très gros et je ne me sens pas
trop

de faire ça à la mimine...





Avatar
LSteph
Bonjour ,
Sélectionner toute cette colonne jusqu'à la limite inférireure des données
F5 (atteindre)
Cellules
Vides
appuyer sur puis sur la flèche vers le haut pour sélectionner une cellule audessus
puis Entrée

Et voili!

lSteph

"Christophe Cerbourg" a écrit dans le message de news:

Bonjour,

dans une colonne dont seulement quelques lignes sont renseignées, je
cherche
à répéter la valeur de la dernière ligne non vide dans les cellules vides
du
dessous, jusqu'à une nouvelle cellule non vide, etc...
Exemple :

aaa


bbb

ccc



ddd

doit devenir
aaa
aaa
aaa
bbb
bbb
ccc
ccc
ccc
ccc
ddd
ddd
etc...

Merci pour toute idée car le fichier est très gros et je ne me sens pas
trop
de faire ça à la mimine...





Avatar
Christophe Cerbourg
merci pour ton aide, mais si je fais ça, ça copie effectivement aaa dans ma
première cellule vide sous aaa, mais pas plus !


"LSteph" a écrit dans le message de
news:%
Bonjour ,
Sélectionner toute cette colonne jusqu'à la limite inférireure des données
F5 (atteindre)
Cellules
Vides
appuyer sur > puis sur la flèche vers le haut pour sélectionner une cellule audessus
puis Entrée

Et voili!

lSteph



Avatar
Christophe Cerbourg
Avatar
LSteph
:?
le principe est d'entrer = (la cellule d'au dessus) dans toutes les
cellules vides de la sélection
au pire si ta colonne ne fait pas partie d'une matrice la dernière valeur ne
serait pas répétée
car f5 limitera la sélection des vides à la dernière valeur ou texte
rencontré
(il suffit alors d'étendre la sélection jusqu'à une cellule non vide juste
sous la limite souhaitée)
si tu fais comme j'ai proposé cela fonctionne, m'en sers tout le temps...

amicalement

lSteph

"Christophe Cerbourg" a écrit dans le message de news:

merci pour ton aide, mais si je fais ça, ça copie effectivement aaa dans
ma
première cellule vide sous aaa, mais pas plus !


"LSteph" a écrit dans le message de
news:%
Bonjour ,
Sélectionner toute cette colonne jusqu'à la limite inférireure des
données
F5 (atteindre)
Cellules
Vides
appuyer sur >> puis sur la flèche vers le haut pour sélectionner une cellule audessus
puis Entrée

Et voili!

lSteph







Avatar
AV
Autre (sans boucle donc rapide) :

Sub zzz()
Set plg = Range("A1", [A65536].End(3))
plg.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
[plg].Value = [plg].Value
End Sub

AV