• Initiateur de la discussion Initiateur de la discussion cj welch
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cj welch

XLDnaute Occasionnel
Bonjour,

j'ai un petit problème j' ai 2 formules qui ne fonctionne pas :

.Range("P" & Lig + 2).Formula = "=Round((N" & Lig + 2 & "*52/12" & "*O & Lig + 2,2)". je n'arrive pas a trouVer l'erreur.

la seconde utilise la fonction si, je voudrais en colonne K:
=si((somme(G11:J11)>(commande!$B$3)*0.50);0;(commande!$B$3)*0.50)-(somme(G11:J11)). j'ai commencé a écrire la formule ci-dessus mais elle est fausse :

'.Range("K" & Lig + 2).Formula = "=IF((G" & Lig + 2 & ("+H" & Lig + 2) & ("+I" & Lig + 2) & ("+J" & Lig + 2)>(Commande!" & [B3].Address & "*30/100,2));0;(Commande!" & [B3].Address & "*30/100,2)&(-G" & Lig + 2 & ("+H" & Lig + 2) & ("+I" & Lig + 2) & ("+J" & Lig + 2)).

Merci par avance pour la correction de mes erreurs

A+
 
Dernière édition:
Re : Formule en VBA

Bonjour cjwelch,

essaye le code suivant:

Code:
With ActiveSheet
.Range("P" & lig + 2).FormulaR1C1 = "=Round(RC[-2]*52/12*RC[-1],2)"
.Range("K" & lig + 2).FormulaR1C1 = "=IF((SUM(R[6]C[-4]:R[6]C[-1])>(Commande!R3C2)*0.5),0,(Commande!R3C2)*0.5)-(SUM(R[6]C[-4]:R[6]C[-1]))"
End With

Pour trouver facilement les formules sans erreur, utilise l'enregistreur de macro:

* Outils - Macros - nouvelle macro
* Tu crée la formule que tu souhaites dans une cellule
* Tu recopies le résultat en modifiant la cellule sélectionnée.

@+

Gael
 
Re : Formule en VBA

Salut gael,

merci pour ton aide
les formules fonctionnent, seulement avec RC je n'arrive pas a comprendre a quelle cellule cela correspond. Dans la formule avec SI par exemple , la ref de départ est en
K11, dans ta formule, le calcul commence en K17.

Si tu peut m'expliquer a quoi correspond RC, j'en serais ravis.

A+
 
Re : Formule en VBA

Re,

En fait c'est très simple et si tu enregistres ta formule correcte avec l'enregistreur de macro tu comprendras tout de suite.

R=ligne (Row)
C=Colonne (Column)

Si le chiffre est entre crochets, la ligne ou la colonne est relative, sinon elle est fixe (équivalent du "$").

Exemple:

Je sélectionne la cellule C1 et je veux y mettre la formule =C11

=C11 sera donc =R[10]C (10 lignes plus bas, même colonne)
=$C$11 sera =R11C3

etc...

La formule SUM(R[6]C[-4]:R[6]C[-1]) devrait s'écrire

SUM(R11C3:R11C10) pour représenter somme($C$11:$J$11)

@+

Gael

Et salut staple, je ne t'avais pas vu non plus.
 
Dernière édition:
Re : Formule en VBA

Re


Cela veut dire Colonne -1


Tu devrais utiliser la méthode préconisée par Gael

Tu saisis ta formule dans une cellule

Ensuite tu fais Outils/Macros/Enregistrer une nouvelle macro.

Tu places ton curseur dans la barre de formule (à la fin de la formule
que du tu viens de saisir

Tu stoppes l'enregistrement.

Puis tu vas voir le code VBA généré
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
757
Réponses
4
Affichages
738
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Réponses
7
Affichages
832
Retour