Explication d'une formule VBA

sharkantipav

XLDnaute Occasionnel
Bonjour qui pourrait m'expliquer ce que veut dire cette formule

Range("BY2").FormulaR1C1 = "=1/(RC[-76]<>R[1]C[-76])

Et comment je pourrais evite des RC si je veux coder des formules en VBA

Merci Bcp
 

Dranreb

XLDnaute Barbatruc
Re : Explication d'une formule VBA

Boujour.

Cette formule en notation R1C1 se retrouve, en notation A1 locale :
Code:
=1/(A2<>A3)
Elle rend 1 si A2 <> A3, et #DIV0! dans le cas contraire.
Elle est curieuse et parait tirée d'un code où elle serait affectée à toute une plage verticale en vue d'en isoler certaines à supprimer d'un seul coup, par exemple, à l'aide d'un SpecialCells…

Edit: Bonsoir Robert.
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Explication d'une formule VBA

Bonjour Sharkantipav, bonjour le forum,

Ma réputation de "Naze en formule" n'est plus à faire dans ce forum mais je vais essayer de t'expliquer.
R correspond Row qui signifie ligne. Le décalage vers le bas est positif, celui vers le haut est négatif
C correspond à Column qui signifie... devine ? Le décalage vers la droite est positif, celui vers la gauche est négatif.

Après lecture du code il y aura la formule suivante en BY2 :" =1(A2<>B2)"

Quand on décale BY2 de 0 lignes (R) et de 76 colonnes vers la gauche (C[-76])on obtient : A2
Quand on décale BY2 d'une ligne vers le bas (R[1]) et de 76 colonnes vers la gauche (C[-76])on obtient : A3
Si nous avons une valeur en A2 et une autre en A3, l'expression A2<>A3 va renvoyer VRAI (= 1) ou FAUX (= 0).

Donc, selon le cas d'égalité entre A2 et A3 nous aurons en BY2 :
Si A2 est différent de A3, A2<>A3 renvoie VRAI donc vaut 1, donc 1/1 = 1 (Résultat affiché)
Si A2 est égal à A3, A2<>A3 renvoie FAUX donc vaut 0, donc 1/0 = #DIV/0! (Résultat affiché).

Tu pourrais coder en dur :

Code:
Range("BY2").Formula = "=1/(A2<>A3)"

[Édition]
Bonsoir Bernard, on s'est croisé...
 

Discussions similaires

Réponses
11
Affichages
429

Statistiques des forums

Discussions
312 183
Messages
2 086 005
Membres
103 087
dernier inscrit
sarah.caneri