Insertion de lignes avec copie de formules et remise à zéro
jenor
Messages postés
51
Statut
Membre
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
Dans le tableau excel que vous pourrez trouver ci-joint, je suis un paramètre x (colonne (X)) et je souhaite qu'un cumul de celui-ci soit fait (colonne (cumul de x)).
L'objet de ma demande consiste à insérer des lignes au tableau selon deux cas différents (ajout de type A ou ajout de type B : à faire grâce aux boutons correspondants)
Les deux premières lignes du tableaux montrent l'exemple (ajout de ligne de type A), on voit que le cumul de x se fait correctement (j'ai copié la formule à la main quoi) . Dans la troisième ligne tout est vide lorsque la ligne est ajoutée (ajout de type B). Dans la quatrième ligne, se trouve ce qui fait suite à un ajout de type B. C'est à dire que la colonne [cumul de x] prend comme nouvelle base la cellule de la colonne [x] de la même ligne.
J'espère avoir été assez clair ... sinon dites le moi.
Voici le fichier : https://www.cjoint.com/c/EGwmuV6M8Pg
Merci d'avance pour vos réponses :-)
Dans le tableau excel que vous pourrez trouver ci-joint, je suis un paramètre x (colonne (X)) et je souhaite qu'un cumul de celui-ci soit fait (colonne (cumul de x)).
L'objet de ma demande consiste à insérer des lignes au tableau selon deux cas différents (ajout de type A ou ajout de type B : à faire grâce aux boutons correspondants)
Les deux premières lignes du tableaux montrent l'exemple (ajout de ligne de type A), on voit que le cumul de x se fait correctement (j'ai copié la formule à la main quoi) . Dans la troisième ligne tout est vide lorsque la ligne est ajoutée (ajout de type B). Dans la quatrième ligne, se trouve ce qui fait suite à un ajout de type B. C'est à dire que la colonne [cumul de x] prend comme nouvelle base la cellule de la colonne [x] de la même ligne.
J'espère avoir été assez clair ... sinon dites le moi.
Voici le fichier : https://www.cjoint.com/c/EGwmuV6M8Pg
Merci d'avance pour vos réponses :-)
2 réponses
-
Bonjour
As tu vraiment besoin de vba ?
E19=SI(A19="";"";SI(B19="A";D19+E18;D19))
devrait aller, du moins si j'ai compris
Cdlmnt-
J'ai essayé avec ta formule, mais elle ne se copie pas correctement avec ma macro.
Voici ma macro d'ailleurs (que j'ai légèrement modifié après qu'elle m'ait été donnée par un internaute) :
Private Sub PutFormulas(cas As Integer)
Dim z As Integer
Dim i As Integer
z = Sheets("Feuil1").Cells(65000, 1).End(xlUp).Row
With ActiveSheet.Range("F" & z)
i = z - 1
.EntireRow.Insert
Select Case cas
Case 1
Range("F" & z) = Range("F" & i)
.Offset(0, -1).Formula = .Offset(-1, -1).Formula
.Offset(0, -2).ClearContents
.Offset(0, -3).Formula = .Offset(-1, -3).Formula
Range("B" & z) = "A"
.Offset(0, -5).ClearContents
Case 2
Range("F" & z) = Range("F" & i)
'c'est là que je bloque, je ne vois pas comment remettre à zéro le cumul
End Select
End With
End Sub
Private Sub CommandButton1_Click()
PutFormulas 1
End Sub
Private Sub CommandButton2_Click()
PutFormulas 2
End Sub
-
-
Je verrai ceci
Bonjour
Je verrai comme ceci
Private Sub PutFormulas(cas As Byte) Dim z As Long, i As Long z = Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row Rows(z).Insert i = z - 1 With ActiveSheet Select Case cas Case 1 .Range("F" & z) = .Range("F" & i) .Range("B" & z) = "A" Case 2 .Range("B" & z) = "B" .Range("D" & z) = 0 End Select .Range("E" & i).AutoFill Destination:=.Range("E" & i & ":E" & z) End With End Sub
RQ. Je n'ai pas compris les .ClearContents qui s'appliquent à des cellules déjà vides
http://www.cjoint.com/c/EGyoTDO7V5R
Cdlmnt