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..;
[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]
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...
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)