Bonjour,
Je débute dans vba et je veux créer une macro qui copie des valeur d'une feuille A vers plusieurs feuilles, en les creant et en effectuant des calculs apres ( calcul simple: dans toutes les dates sans transactions, il prends la valeur précedente , sinon il somme avec la transaction à cette date).
Voici mon code:
Sub Macro1()
'
' Macro1 Macro
'
'
Dim i As Integer, trans As Integer, j As Integer
Dim prev_value As Long
Dim nom_feuille As String
'xlBook.Worksheets("Portefeuiles").Activate
Set Lafeuille = Worksheets("Portefeuilles")
'Sheets("Portefeuiles").Select
i = 2
nom_feuille = "feuille"
While Not IsEmpty(Lafeuille.Range("A" & i))
If (nom_feuille <> Lafeuille.Range("A" & i).Value) Then
nom_feuille = Lafeuille.Range("A" & i).Value
Sheets("Feuil1").Select
Sheets("Feuil1").Copy Before:=Sheets(1)
Sheets("Feuil1 (2)").Select
Sheets("Feuil1 (2)").Name = nom_feuille
Range("A1:B1").Select
Selection.Font.Bold = True
Else
If (nom_feuille = Lafeuille.Range("A" & i).Value) Then
Set feuille_active = Worksheets(nom_feuille)
k = 2
While Not IsEmpty(feuille_active.Range("A" & k))
trans = i - 1
While Not IsEmpty(Lafeuille.Range("B" & trans))
If (feuille_active.Range("A" & k) = Lafeuille.Range("B" & trans)) And (feuille_active.Range("B" & k) = Lafeuille.Range("C" & trans)) Then
feuille_active.Range("C" & k).Value = Lafeuille.Range("E" & trans)
End If
trans = trans + 1
k = k + 1
Wend
Wend
j = 2
While Not IsEmpty(feuille_active.Range("A" & j))
If feuille_active.Range("A" & j) <> feuille_active.Range("A" & j - 1) Then
feuille_active.Range("C" & j) = 0
Else
feuille_active.Range("C" & j) = feuille_active.Range("C" & j) + feuille_active.Range("C" & j - 1)
End If
j = j + 1
Wend
End If
End If
i = i + 1
Wend
End Sub
Merci pour votre aide