Macros et VBA

Myst3ryssss

New Member
Joined
Jul 28, 2011
Messages
3
Bonjour,

J'ai un petit formulaire sur une feuille où j'entre des données -> Ajouter
J'ai la BD sur une autre feuille -> Mouvement
Voici à quoi ressemble mes pages

Formulaire sheet:
34392597.jpg


Mouvement sheet
67338735.jpg


Je recherche une façon d'inclure dans la macro du bouton "insérer" une condition qui vérifi que "Valeur Marchande" = 0.
- Si Valeur Marchande = 0, il va chercher la dernière valeur (most recent value) de la valeur marchande du compte (CELI ou non-enregistré) change le 0 pour celle-ci.

Exemple:

If I enter CELI and 0 in "valeur marchande", my macro input de entry with a 0$ in the "valeur Marchande" field in the "mouvement" sheet. So, it make unbalance de "Profit/Perte" colum.

IMG
89389437.jpg
`

I've try this:
Code:
=SI(Ajouter!C10=0;RECHERCHEV(B2;Mouvement!RECHERCHE_PLAGE_VAL0;3;FAUX))
This send back the GOOD most recent value

RECHERCHE_PLAGE_VAL0 est la plage de recherche dans la feuille Mouvement qui correspond de B2 à E5 et qui s'agrandit automatiquement si on ajoute des valeurs.
Pour votre compréhension:
Code:
RECHERCHE_PLAGE_VAL0
=DECALER(Mouvement!$A$1;1;1;NBVAL(Mouvement!$A$1:$A$20)-1;4)

But how can I put these formula in my VBA Macro

Thanks,

p.s. This is my input macro
Code:
Sub nouvelle_valeur()
'
' nouvelle_valeur Macro
'
'
    Sheets("Mouvement").Select
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Ajouter").Select
    Range("A2:D2").Select
    Selection.Copy
    Sheets("Mouvement").Select
    Range("A2:D2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("E2").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
    Range("E3").Select
    Sheets("Ajouter").Select
    Range("C10").Select
    Selection.ClearContents
    Range("C7").Select
    Selection.ClearContents
    ActiveWorkbook.RefreshAll
End Sub
 

Excel Facts

Shade all formula cells
To shade all formula cells: Home, Find & Select, Formulas to select all formulas. Then apply a light fill color.
Bonjour Myst3ryssss,

Si vous avez besoin d'utiliser la formule dans votre macro, vous pouvez utiliser le «Evaluate» interprète la formule et stockées dans une variable comme suit:



(Vous avez besoin de mettre en «Evaluate» la formule en anglais)


Code:
Var=Evaluate("OFFSET(Mouvement!$A$1;1;1;COUNTA(Mouvement!$A$1:$A$20)-1;4)")
J'espère que cela aide.

Cordialement
 
Upvote 0

Forum statistics

Threads
1,223,952
Messages
6,175,595
Members
452,657
Latest member
giadungthienduyen

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top