Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
453
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…