Calcule Auto

Bonjour,

Je me permets de faire un nouveau poste pour ceci.

Vous avez déjà répondu a ce type de question mais souvent avec une variante de l'utilisateur.

Je cherche a dire en VBA Colonne A et B faire (A2-B2) etc

Faire A2-B2 résulta colonne C2

Si A3 n'est pas vide alors A3-B3 Résulta colonne C3

Si A4 n'est pas vide alors A4-B4 résulta colonne C4 etc etc

Si A4566 = "" alors stop

Dans un premier temps je voudrais bien apprendre la logique de cette boucle

Dans un second temps mon calcule est plus complique que 1-1 il ressemble plus a :

=SI(R2=Q2;R2;(R2-Q2)) SI(800=800;800;800-400)

Merci par avance !

Bonjour,

En préambule, je précise que je ne vois pas l'intérêt de VBA pour réaliser ces opérations, sur la base des informations que tu fournies !

En VBA, le code pourrait être quelque chose du genre :

Sub MaMacro()

Dim DerLig As Long, Lig As Long

With Sheets("MaFeuille") 'Nom a adapter
    DerLig = .Range("R" & Rows.Count).End(xlUp).Row 'Identifie la dernière ligne 
    For Lig = 2 To DerLig 'Boucle sur les lignes
        If Not IsEmpty(.Range("R" & Lig)) Then 'Si cellule "R" non vide
            If .Range("R" & Lig) = .Range("Q" & Lig) Then  'Si "R" = "Q"
                .Range("S" & Lig) = .Range("R" & Lig) 'Alors "S" = "R"
            Else 
                .Range("S" & Lig) = .Range("R" & Lig) - .Range("Q" & Lig) 'Sinon "S" = "R" - "Q"
            End If
        End If
     Next Lig
End With

End Sub

En espérant avoir saisie la logique...

bonjour

salut Pedro

sans VBA

en C2 mettre

=SI(A2="";"";A2-B2)

formule à "tirer vers le bas très loin"

amitiés

Bonjour a tous,

Dans un premier temps merci de votre réponse rapide, toujours au top ici.

2/

Je ne peux pas faire les tests encore beaucoup de chose a faire a coté (Non prévu quand j'ai posté mon soucis)

3/

Pourquoi demander cela

Je réalise une Marco sur une base de donnée qui va tous le temps être mise a jour donc (jamais le même nombre de ligne etc) J'ai besoin du résulta de A-B pour un indicateur

@Jmd :

Je te remercie d'avoir pris le temps de répondre ^^ mais sur un base de donnée qui bouge tous le temps je ne peux pas utiliser une simple fonction car la macro que Pedro m'aide sera imbriquée dans dans une étape d'une macro déjà existante.

Mais merci quand même en tous cas

PS: pas de soucis une fois testé et Ok je validerais le poste =)

@Jmd :

Je te remercie d'avoir pris le temps de répondre ^^ mais sur un base de donnée qui bouge tous le temps je ne peux pas utiliser une simple fonction car la macro que Pedro m'aide sera imbriquée dans dans une étape d'une macro déjà existante.

re

on tape les formules, et elles fonctionnent, pas besoin de les imbriquer dans du code VBA

amitiés

Bonjour,

@ jmd,

Quand une question porte sur VBA, n'interviens pas sur le sujet.

Inutile de polluer le fil de la discussion.

Cdlt.

Rechercher des sujets similaires à "calcule auto"