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!
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!