Salut !
J'ai continué à chercher de mon côté et j'ai trouvé un truc qui marche, que j'ai enregistré avec l'enregistreur de macro.
Je créé 3 colonnes :
- une première qui prend la valeur 1 quand la cellule de la même ligne de ma colonne à corriger est non vide (en l'occurrence non nulle) ;
- une autre avec un truc qui s'incrémente de 1 lorsqu'il y a un 1 sur la colonne précédente ;
- une autre qui recopie ma colonne à corriger lorsqu'il y a eu incrémentation sur la colonne précédente, sinon la valeur de la cellule au-dessus : il s'agit de ma colonne retraitée.
Après ce travail je fais un copier valeur de ma 3e colonne et je vire les deux autres.
Ca donne ça :
Sub Extensionémetteur()
'
' Extensionémetteur Macro
' Macro enregistrée le 02/08/2011 par xxxx
'
'
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Selection.Insert Shift:=xlToRight
Range("U2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=0,0,1)"
Range("V2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=1,R[-1]C+1,R[-1]C)"
Range("W2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]-R[-1]C[-1]=1,RC[-3],R[-1]C)"
Range("U2:W2").Select
Selection.Copy
Range("U3:W8053").Select
ActiveSheet.Paste
Columns("W:W").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("U:V").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
End Sub
Mais j'aurais surtout besoin d'aide pour le paramétrage :
- j'aimerais rentrer à la main le nom de la colonne que je veux traiter, et pourquoi pas le nombre de lignes à traiter
- j'aimerais ne pas passer par la création de colonne mais par l'utilisation de variables
Qu'en pensez-vous ?
@+,
F.