Possible sur VBA ?

Bonjour à tous

Voila ce que je voudrais faire sur du code VBA déjà existants :

j'ai un montant de TVA admettons de 30 que je dois partager sur trois Desks

desk1 (composé de sousdesk11, sousdesk12, sousdesk13, sousdesk14)

desk2 (composé de sousdesk21, sousdesk22)

desk3 (composé du sousdesk11, 12, 13, 14 ET de sousdesk21,22 ET sousdesk31, sousdesk32)

desk4 (composé sousdesk31, 32)

Je veux répartir ce montant au 1/3 sur desk1 desk 2 et desk 4.

desk 1 et desk 2 je veux répartir au prorata.

Sachant que sur le desk 4 je veux répartir le 1/3 (c'est à dire 10) en fonction de pourcentages que j'ai pré-définies.

Est ce possible tout d'abord de faire ce genre de prestation sur VBA ? (j'ai un niveau beginner!)

N'hésitez pas a me poser des questions si ce n'est pas clair.

Merci à tous !

Bonjour,

Ce n'est semble-t-il qu'une question de calcul ! Une fois le calcul défini, tu peux certainement l'écrire en VBA.

hello tout le monde merci à toi MFerrand !

J'avance j'avance sur le code ...

J'ai un message d'erreur qui apparait et qui me mets en surbrillance 'range' dans cette ligne de code :

If Range("C16") = "Investors" Then Range("J22") = Range("D22").Value * 0.0009

If Range("C16") = "Investors" Then Range("P22") = Range("D22").Value * 0.07197

If Range("C16") = "Investors" Then Range ("D22") * 0.2621 + Range("J34") = Range("J34")

If Range("C16") = "Investors" Then Range ("D22") * 0.21199 + ("P34") = Range("P34")

If Range("C16") = "Investors" Then Range ("D22") * 0.11907 + ("J58") = Range("J58")

If Range("C16") = "Investors" Then Range ("D22") * 0.09363 + ("P58") = Range("P58")

If Range("C16") = "Investors" Then Range ("D22") * 0.11317 + ("V58") = Range("V58")

If Range("C16") = "Investors" Then Range ("D22") * 0.127156 + ("AB34") = Range("AB34")

Et bien sur si je supprime range ou que je mets cells, le meme message d'erreur revient. A savoir "Invalid use of property"

Merci à tous !

bonjour,

la cellule qui reçoit le résultat du calcul doit se trouver à gauche dans la formule

If Range("C16") = "Investors" Then  Range("P34") =Range ("D22") * 0.21199 + ("P34")

Il me semble que c'est cela que tu voudrais calculer ?

    Dim a
    With Worksheets("A préciser") ' Je n'aime pas le code approximatif...
        If .Range("C16") = "Investors" Then
            a = .Range("D22")
            .Range("J22") = a * 0.0009
            .Range("P22") = a * 0.07197
            .Range("J34") = a * 0.2621 + .Range("J34")
            .Range("P34") = a * 0.21199 + .Range("P34")
            .Range("J58") = a * 0.11907 + .Range("J58")
            .Range("P58") = a * 0.09363 + .Range("P58")
            .Range("V58") = a * 0.11317 + .Range("V58")
            .Range("AB34") = a * 0.127156 + .Range("AB34")
        End If
    End With

En tout cas, là pas d'erreur de syntaxe...

NB- La prochaine fois, utilisation des balises Code requises pour citer du code... !

super tout le monde merci !

oui c'est approximatif je n'utilise pas les bons codes ... du fait que c'est l'une des premières fois que je code ahah

mais j'ai aussi réglé le problème en mettant cette forme > cells(54,10) (par exemple) plutot que > RANGE ("J34")

De plus j'ai aussi décalé les éléments pour réussir le calcul comme tu l'as très bien dit H2so4.

Merci en tout cas pour vos retours.

Ps : Je ne mets pas encore le petit bouton vert car je n'ai pas totalement terminé

Rechercher des sujets similaires à "possible vba"