Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

copier cellule supérieure si vide

Michel_D

XLDnaute Nouveau
Bonjour,

Pas trouvé en cherchant dans le forum et pourtant j'ai l'intuition que mon problème est simple.
Dans une colonne, comment copier automatiquement dans les cellules vides la valeur de la cellule non vide supérieure ?
Je joins un p'tit exemple...où dans la colonne A les cellules vides en dessous de Michel doivent être remplie avec Michel jusqu'à Véro, etc...

Merci d'avance pour vos réponses.

Michel
 

Pièces jointes

  • Cellsup.xls
    18.5 KB · Affichages: 490

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : copier cellule supérieure si vide

Bonjour

un essai

Code:
Sub toto()
x = Range("B65536").End(xlUp).Row
For y = 2 To x
If Range("A" & y) = "" Then Range("A" & y) = Range("a" & y - 1)
Next

End Sub
 

Cousinhub

XLDnaute Barbatruc
Re : copier cellule supérieure si vide

Bonjour,

Bonjour Pascal

une autre solution :

Code:
Sub Macro1()
With Range("A2:A" & [B65000].End(xlUp).Row)
    .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
End With
End Sub
 

Michel_D

XLDnaute Nouveau
Re : copier cellule supérieure si vide

Bonjour,

Merci pour vos réponses.
La solution de PascalXld fonctionne à merveille.
j'essaie encore la solution de bhbh qui elle ne fonctionne pas (peut-être que je l'ai mal copié dans mon classeur) mais au lieu de copier la valeur de la cellule sup il met =R[-1]C.

Michel
 

JCGL

XLDnaute Barbatruc
Re : copier cellule supérieure si vide

Bonjour à tous,

Tu as mal recopié le code de BH²

Fais un Copier / Coller de ce code et tu verras qu'il fonctionne parfaitement (tu as oublié un =)

A+ à tous
 

Amrane

XLDnaute Junior
Re : copier cellule supérieure si vide

Cher bhbh

Un chapeau pour cette solution rapide, mais malhereusement j'ai pas compris comment sa se passe!!!!

merci, d'avance


Bonjour,

Bonjour Pascal

une autre solution :

Code:
Sub Macro1()
With Range("A2:A" & [B65000].End(xlUp).Row)
    .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
End With
End Sub
 

jhwin

XLDnaute Nouveau
Re : copier cellule supérieure si vide

Bonsoir

Je reviens 3 années plus tard avec le même souci

J'ai intégré la Macro suivante dans mon fichier :

Sub Macro1()
With Range("A2:A" & [B65000].End(xlUp).Row)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
End Sub

Mais lorsque j’exécute la macro cela ne fait que remplir les cellules vides qui ont été remplies manuellement lors de l'enregistrement de la macro mais pas les autres.

Ca doit fonctionner mais comme il s'agit de ma première macro j'ai du faire une boulette

Qui pourrait m'aider svp ?
Merci d'avance
 

JCGL

XLDnaute Barbatruc
Re : copier cellule supérieure si vide

Bonjour à tous,
Bienvenue sur XLD

Mais lorsque j’exécute la macro cela ne fait que remplir les cellules vides qui ont été remplies manuellement lors de l'enregistrement de la macro mais pas les autres.

Ce code ne remplit que les cellules vides avec la formule située à la ligne au dessus.

Que souhaites tu exactement ?

A + à tous
 

jhwin

XLDnaute Nouveau
Re : copier cellule supérieure si vide

"Ce code ne remplit que les cellules vides avec la formule située à la ligne au dessus. Que souhaites tu exactement ?"

Exactement cela mais j'ai environ 50.000 lignes et environ 1/3 de rempli donc j'aimerai que cela s'execute automatiquement.

Merci bcp d'avoir répondu si vite
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…