Insérer une ligne à chaque changement de valeur

Fermé
zai_1989 Messages postés 12 Date d'inscription samedi 6 juillet 2019 Statut Membre Dernière intervention 16 septembre 2019 - 5 sept. 2019 à 14:37
 gyrus - 7 sept. 2019 à 09:55
bonjour
je suit débutent en vba .
je cherche une code VBA qui me permette d' insérer 2 lignes à chaque changement de valeur de la cellule colonne A et copier la formule exemple et la 1er cellule :

//////////////////////////////////////////////////////////////
/ / A / B / C / D /
/////////////////////////////////////////////////////////////
/ 1/PH1 /=C1+D1 / 5 / 6 /
////////////////////////////////////////////////////////////
/2/PH2 /=C2+D2 / 8 / 7 /
///////////////////////////////////////////////////////////




//////////////////////////////////////////////////////////////
/ /...A...../....B......./ C..../....D.... /
/////////////////////////////////////////////////////////////
/ 1/PH1 /=C1+D1 /.... 5 ... / 6 /
////////////////////////////////////////////////////////////
/2/PH1 /=C2+D2 /............/.............../
///////////////////////////////////////////////////////////
/3/PH1 /=C3+D3 /............/.............../
///////////////////////////////////////////////////////////
/4/PH2 /=C4+D4 / 8 / 7 /
///////////////////////////////////////////////////////////
A voir également:

2 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
5 sept. 2019 à 16:47
Bonjour,

Si PH1 est forcément différent de PH2 :
Sub Insertion(l As Integer)
    Cells(l + 1, 1).EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Cells(l + 1, 1).Value = Cells(l, 1).Value
    Cells(l + 2, 1).Value = Cells(l, 1).Value
End Sub

Sub a()
    Der = Range("A65536").End(xlUp).Row
    For l = Der To 1 Step -1
        Insertion (l)
    Next l
    DerN = Range("A65536").End(xlUp).Row
    Range("B1").Select
    Selection.AutoFill Destination:=Range("B1:B" & DerN), Type:=xlFillDefault
End Sub
0
zai_1989 Messages postés 12 Date d'inscription samedi 6 juillet 2019 Statut Membre Dernière intervention 16 septembre 2019
5 sept. 2019 à 23:33
merci zoul67
il faut copier juste le formule et le 1er cellule de line i :( et aussi inséré les ligne a chaque changement de la contenu de 1er celulle
0