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

Copier dans une cellule déjà renseignée celle du dessus

JoeGillian

XLDnaute Nouveau
Bonjour,

J'ai un fichier excel avec des sous-totaux : à chaque ligne du sous-total apparaît "Total FP"; or doit apparaître la mention "FP" se situant sur la ligne du dessus.
A priori , c'est modifiable manuellement mais il s'agit d'élaborer une macro.
Débutant en VBA(une semaine) , je pense m'orienter soit vers une solution qui compte les lignes du bas vers le haut , similaire à celle-ci qui compte les lignes vides et les comble avec le contenu des cellules du dessus:
Sub compléter()
X = [B65536].End(3).Row
For Each c In Range("A1: A" & X).SpecialCells(xlCellTypeBlanks)
c.Value = Range(c.Address).End(3).Value
Next
For Each c In Range("B1: B" & X).SpecialCells(xlCellTypeBlanks)
c.Value = Range(c.Address).End(3).Value
Next
End Sub
Soit vers une solution Privatesub worksheet change_byval target as range ( à laquelle je n'ai pas tout compris); ou encore la solution suivante - qui est en cours de construction:
Option Explicit
Sub Coco()

Dim i As Long, LastRow As Long
Dim Nb As Integer, s As String
Application.ScreenUpdating = False
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For i = LastRow To 1 Step -1
s = Range("A" & i)




Rows(i + 1 & ":" & i + Nb).Insert Shift:=xlDown
Range("A" & i).Copy
Range("A" & i + 1 & ":A" & i + Nb).PasteSpecial Paste:=xlPasteValues


Next i
Application.ScreenUpdating = True
End Sub
Nouveau sur le forum , j'avais posté sur le forum spécial 2007 (car je suis sur Excel 2007 sur PC) qui est spécifique aux nouveautés Excel 2007; veuillez me pardonner pour ces discussions redondantes.

Merci! Et continuez , vous assurez!
 

job75

XLDnaute Barbatruc
Re : Copier dans une cellule déjà renseignée celle du dessus

Bonjour JoeGillian, bienvenue sur XLD,

Vous avez ouvert ce fil hier :

https://www.excel-downloads.com/threads/copier-dans-une-cellule-pleine-la-cellule-du-dessus.142970/

Cela ne sert à rien de multiplier les fils sur le même sujet.

Si vous n'avez pas eu de réponse c'est que personne n'a compris votre problème.

Un fichier joint (< 48 ko) [Edit : format Excel 2003 .xls] avec un exemple du résultat escompté serait utile.

A+
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Copier dans une cellule déjà renseignée celle du dessus

Bonjour JoeGillian, job75,
Après consultation des runes magiques par le chaman, je propose, si les cellules "Total FP" sont en colonne A :
Code:
Sub compléter()
X = Range("A" & Application.Rows.Count).End(xlUp).Row
For Each c In Range("A1: A" & X)
    If c.Value = "Total FP" Then c.Value = c.Offset(-1, 0).Value
Next c
End Sub
Mais la demande de job75 pour avoir un exemple me parait plus sûre (le chaman se fait vieux ces temps çi...)
Cordialement
 

JoeGillian

XLDnaute Nouveau
Re : Copier dans une cellule déjà renseignée celle du dessus

Concernant la multiplication des fils , ça ne se reproduira plus.
Merci à tous les deux pour vos conseils: concernant le code VBA , il fonctionne impeccablement.
J'espère avoir bientôt suffisamment de connaissances pour venir à mon tour en aide à ceux qui en ont besoin.
Keep up ze good work!
 

job75

XLDnaute Barbatruc
Re : Copier dans une cellule déjà renseignée celle du dessus

Salut Efgé

Faut se méfier des boules de cristal, la mienne me dit ça :

Code:
Sub FP()
Columns(1).Replace "Total FP", "FP"
End Sub

Un peu fofolle

A+
 

Discussions similaires

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