Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro recopie cellule précédente

9 réponses
Avatar
dom
Bonjour,

Comment par macro remplir les cellules vides par les cellules stockées dans
la cellule précédente ?

Merci de vos réponses

Dom

ex :
A
1 toto
2 titi
3 (à la place de cellule vide je voudrais avoir
titi(contenu de A2)
4 toto
5 tata
6 (à la place de cellule vide, je voudrais avoir
tata(contenu de A5)
7 tutu
8 (à la place de cellule vide, je voudrais avoir tutu
(contenu de A7

etc.

9 réponses

Avatar
AV
Comment par macro remplir les cellules vides par les cellules stockées dans
la cellule précédente ?


Tu peux exécuter cette macro :

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

AV

Avatar
isabelle
bonjour Dom,

Sub Remplir_blanc()
Set plg = Application.InputBox(prompt:="Sélectionner la plage à traiter", Type:=8)
dp = plg.Item(1)
For Each c In plg
If c = 0 Then
Range(c.Address) = dp
Else
dp = c
End If
Next
End Sub

isabelle

Bonjour,

Comment par macro remplir les cellules vides par les cellules stockées dans
la cellule précédente ?

Merci de vos réponses

Dom

ex :
A
1 toto
2 titi
3 (à la place de cellule vide je voudrais avoir
titi(contenu de A2)
4 toto
5 tata
6 (à la place de cellule vide, je voudrais avoir
tata(contenu de A5)
7 tutu
8 (à la place de cellule vide, je voudrais avoir tutu
(contenu de A7

etc.


Avatar
MichDenis
Bonjour AV,

C'est quand même plus parlant que des chinoiseries de cet
acabit : "=R[-1]C"

Range("A1", [A65536].End(3)).SpecialCells(xlCellTypeBlanks).Formula = _
"=" & Range("A2").Offset(-1).Address(0, 0)

;-)




"AV" a écrit dans le message de news:

Comment par macro remplir les cellules vides par les cellules stockées dans
la cellule précédente ?


Tu peux exécuter cette macro :

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

AV

Avatar
AV
C'est quand même plus parlant que des chinoiseries de cet
acabit : "=R[-1]C">
Range("A1", [A65536].End(3)).SpecialCells(xlCellTypeBlanks).Formula = _
"=" & Range("A2").Offset(-1).Address(0, 0)


Heu…..heu...
Plus parlant peut-être mais malgré mon aversion préofonde pour le système de
rréférence L1C1, il m'apparait absolument nécessaire, dans ce cas, d'écrire la
formule sous forme de références relatives !
Voir l'exemple joint
http://cjoint.com/?gwqGoLtSxp

Code plus "fini" :

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

AV

Avatar
MichDenis
Évidemment, il faut adapter selon la disposition des données de la feuille...!

Selon la donne que tu as émise dans ton fichier exemple,
ceci fonctionne très bien, je crois ...

'-----------------------------
Sub Top_Niveau()
With Range("A1", [A65536].End(3))
With .SpecialCells(xlCellTypeBlanks)
.Formula = "=" & .Item(1).Offset(-1, 0).Address(0, 0)
End With
.Value = .Value
End With
End Sub
'-----------------------------

Et il faudrait ajouter en début de procédure :
On Error Resume Next au cas où il n'y a pas de cellules
correspondantes dans la méthode SpecialCells.



"AV" a écrit dans le message de news:

C'est quand même plus parlant que des chinoiseries de cet
acabit : "=R[-1]C">
Range("A1", [A65536].End(3)).SpecialCells(xlCellTypeBlanks).Formula = _
"=" & Range("A2").Offset(-1).Address(0, 0)


Heu...heu...
Plus parlant peut-être mais malgré mon aversion préofonde pour le système de
rréférence L1C1, il m'apparait absolument nécessaire, dans ce cas, d'écrire la
formule sous forme de références relatives !
Voir l'exemple joint
http://cjoint.com/?gwqGoLtSxp

Code plus "fini" :

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

AV

Avatar
dom
Merci à vous tous (Isabelle,MichDenis et AV)
C'est sympa
. Cela fonctionne parfaitement bien


Bonjour AV,

C'est quand même plus parlant que des chinoiseries de cet
acabit : "=R[-1]C"

Range("A1", [A65536].End(3)).SpecialCells(xlCellTypeBlanks).Formula = _
"=" & Range("A2").Offset(-1).Address(0, 0)

;-)




"AV" a écrit dans le message de news:

Comment par macro remplir les cellules vides par les cellules stockées dans
la cellule précédente ?


Tu peux exécuter cette macro :

Sub Complète_Lignes()
Range("A1", [A65536].End(3)).SpecialCells(xlCellTypeBlanks).FormulaR1C1 > "=R[-1]C"
[plg].Value = [plg].Value
End Sub

AV







Avatar
Fredo P.
Bonjour AV
Il n'y aurait il pas un scmilblick dans ""Range("A1",
[A65536].End(3)).SpecialCells(xlCellTypeBlanks).""
"AV" a écrit dans le message de news:

C'est quand même plus parlant que des chinoiseries de cet
acabit : "=R[-1]C">
Range("A1", [A65536].End(3)).SpecialCells(xlCellTypeBlanks).Formula = _
"=" & Range("A2").Offset(-1).Address(0, 0)


Heu...heu...
Plus parlant peut-être mais malgré mon aversion préofonde pour le système
de

rréférence L1C1, il m'apparait absolument nécessaire, dans ce cas,
d'écrire la

formule sous forme de références relatives !
Voir l'exemple joint
http://cjoint.com/?gwqGoLtSxp

Code plus "fini" :

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

AV





Avatar
AV
Il n'y aurait il pas un scmilblick dans ""Range("A1",
[A65536].End(3)).SpecialCells(xlCellTypeBlanks).""


Heu... ??
Quel smilblick ?

AV

Avatar
Fredo P.
Ups excuse Av, c'est moi, je n'ai pas du correctement exécuter ton exemple
issu du compte.
"AV" a écrit dans le message de news:
#
Il n'y aurait il pas un scmilblick dans ""Range("A1",
[A65536].End(3)).SpecialCells(xlCellTypeBlanks).""


Heu... ??
Quel smilblick ?

AV