Recopier en dessous

Sph1nxXx

XLDnaute Nouveau
Bonjour,
Je souhaites trouver une macro qui permette de recopier la cellule du dessous si la cellule est vide.

C'est à dire par exemple A2 est vide et A3 contient la valeur 10000
je souhaiterais que A2 contienne à l'aide de cette macro 10000
mais aussi que si A1 est vide alors qu'elle prenne aussi 10000

j'ai trouvé une macro permettant de recopier la cellule du dessus
Sub complèterdessus()
x = [A65536].End(3).Row
For Each c In Range("A1: A" & x).SpecialCells(xlCellTypeBlanks)
c.Value = Range(c.Address).End(3).Value
Next
End Sub

ou une macro permettant de recopier la ligne du dessous
Sub Completerdessous()

Dim Plage As Range, Cellule As Range

Set Plage = Range("A2:A65000")

For Each Cellule In Plage
If (Cellule.Value = "") Then
Cellule.Value = Cellule.Offset(1, 0).Value
End If
Next Cellule

End Sub

mais elle s'arrète à la premier ligne au dessus et ne prend pas en compte les autres vide...donc je suis obliger de la relancer des dizaines de fois..;

Merci pour ceux qui y parviendrons...
 

ROGER2327

XLDnaute Barbatruc
Re : Recopier en dessous

Bonjour Sph1nxXx
Essayez
Code:
[COLOR="DarkSlateGray"][B]Sub complèterdessous()
Dim c As Range
   On Error Resume Next
   For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeBlanks)
      c.Value = Range(c.Address).End(xlDown).Value
   Next
End Sub[/B][/COLOR]
ROGER2327
#2125
 

Sph1nxXx

XLDnaute Nouveau
Re : Recopier en dessous

Bonjour,


je déterre mon vieux sujet parce que j'ai à nouveau besoin de cette macro :)

Bon cette fois je souhaites recopier la cellule du dessus (j'ai la macro) mais pas seulement pour la colonne A mais pour toutes les colonnes...

En réalité je fais un sous total a chaque changement de commande donc il m'affiche total commande puis le total de chaque chose dont je lui ai demandé de me faire le total mais je souhaiterais qu'il me reporte également les informations comme la date, le nom etc.

A part par une macro de recopiage du dessus je ne vois pas comment...

Merci par avance à ceux qui se pencherons dessus :)
 

Sph1nxXx

XLDnaute Nouveau
Re : Recopier en dessous

ah ba visiblement j'ai trouvé tout seul...

Sub complèterdessus()
x = [A65536].End(3).Row
For Each c In Range("A1: BB" & x).SpecialCells(xlCellTypeBlanks)
c.Value = Range(c.Address).End(3).Value
Next
End Sub


Si quelqu'un voit une erreur on ne sait jamais...
(j'ai mis BB parce que mon tableau ne va jamais au delà de cette colonne)
 

Discussions similaires

Réponses
7
Affichages
234
Réponses
2
Affichages
176

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet