OVH Cloud OVH Cloud

Remplir cellules vides???

7 réponses
Avatar
mobimus
Bonjour,

Dans une feuille Excel, j'ai une colonne (A par exemple) qui contient
des données de la sorte:

ABC
(vide)
(vide)
(vide)
ABD
(vide)
ABG
(vide)
(vide)
(vide)
(vide)
ABK

Je voudrais remplir les cellules vides par la valeur qui existe juste
en haut, MAIS jusqu'à la cellule suivant qui contient une valeur.

Ainsi j'aurais:
ABC
ABC
ABC
ABC
ABD
ABD
ABG
ABG
ABG
ABG
ABG
ABK

Nota: Ceci est un exmple, les cellules vides varient d'une feuille à
une autre. Donc, il me faudrait un code VB généralisable.

Merci de me donner un coup d'aide

Bonne journée

7 réponses

Avatar
JB
Bonjour,


n = [a65000].End(xlUp).Row
Range("a1").Select
i = 1
Do While i < n
If ActiveCell = "" Then ActiveCell = ActiveCell.Offset(-1, 0)
ActiveCell.Offset(1, 0).Select
i = i + 1
Loop

Cordialement jb
Avatar
mobimus
Bonjour,


n = [a65000].End(xlUp).Row
Range("a1").Select
i = 1
Do While i < n
If ActiveCell = "" Then ActiveCell = ActiveCell.Offset(-1, 0)
ActiveCell.Offset(1, 0).Select
i = i + 1
Loop

Cordialement jb


Merci bcp pour ton aide :')

Avatar
mobimus
Bonjour,


n = [a65000].End(xlUp).Row
Range("a1").Select
i = 1
Do While i < n
If ActiveCell = "" Then ActiveCell = ActiveCell.Offset(-1, 0)
ActiveCell.Offset(1, 0).Select
i = i + 1
Loop

Cordialement jb


Salut,

La macro marche très bien pour la colonne A

Je voudrais généraliser la macro à toute colonne que je détermine pour
la macro.

Comment introduire dans le code VB une instruction qui me permerttrait
à l'exécution de la macro d'aller spécifier la colonne+ok et puis le
code termine l'exécution.

Merci bcp

Avatar
JB
Bonjour,

On sélectionne la première cellule de la colonne à traiter

Sub essai()
n = Cells(65000, ActiveCell.Column).End(xlUp).Row ' nb de lignes
i = 1
Do While i < n
If ActiveCell = "" Then ActiveCell = ActiveCell.Offset(-1, 0)
ActiveCell.Offset(1, 0).Select
i = i + 1
Loop
End Sub

Cordialement JB
Avatar
AV
Alternative avec une méthode ultra-rapide en exécution :
Sélection de la colonne à traiter -->

Sub zzz_Complèter()
Selection.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Selection.Value = Selection.Value
End Sub

AV
Avatar
danielrv
Bonjour,

Pour JB : Je viens de tester, mais pour moi cela ne fonctionne pas ???

ça bloque là : n = Cells([65000], ActiveCell.Column).End(xlUp).Row

et donne le message : "Propriété ou méthode non géré par cet objet"

Pour AV,

ça fonctionne, mais si je place le curseur en colonne F, toutes les

cellules vides des colonnes A à F sont complétées par une formule,

mais avec erreur #REF.



Enfin, merci pour vos réponses, passées et à venir.

Bonnes fêtes de fin d'année à tous.
Avatar
JB
Voir PJ http://cjoint.com/?mClccudH18

JB