problème de formule dans une macro

  • Initiateur de la discussion Initiateur de la discussion Jare
  • 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 !

J

Jare

Guest
Bonjour à tous,

Quelqu'un peut il me dire ce qui cloche a mon code !

For i = 2 To Range("a1").CurrentRegion.Rows.Count
Cells(i, 5).FormulaR1C1 = IIf(Cells(i, 1).Value <> "", Cells(i, 5).FormulaR1C1 = "=RC[1]/0.75)", "")
Next

je veut obtenir la valeur de l'operation, mais j'obtient le texte "FAUX" à la place !!

d'avance merci.

Jare
 
Salut Jare,

c'est vrai qu'avec ta formule on obtient "FAUX"...

mais la réponse de STéphane donnée auparavant sur le post (Quelqu'un peut il me dire ce qui cloche à mon code !) donne bien le résultat attendu...

-------------------------------------------------------------------------------------------
Auteur: STéphane (195.101.57.---)
Date: 13-12-02 14:07

For i = 2 To Range("a1").CurrentRegion.Rows.Count
Cells(i, 5).FormulaR1C1 = IIf(Cells(i, 1).Text <> 0, "=RC[1]/0.75", "")
Next
-------------------------------------------------------------------------------------------

ça ne marche pas chez toi ?

A+ Vériland
 
Salut Vériland

Merci d'avoir répondu mais effectivement ca ne marche pas !!!!

j'ai le message d'erreur suivant:

ERREUR D'EXECUTION 1004
ERREUR DEFINIE PAR L'APPLICATION OU PAR L'OBJET

as tu une explication ?

A+, Jare
 
Re Jare,

Bon moi j'ai essayé simplement avec cette formule...

Sub formule()
For i = 2 To Range("a1").CurrentRegion.Rows.Count
Cells(i, 5).FormulaR1C1 = IIf(Cells(i, 1).Text <> 0, "=RC[1]/0.75", "")
Next
End Sub

ton message d'erreur signifie qu'il y a un autre problème dans ta macro...certainement un objet qui n'est pas déclaré...peut être un "DIM" manquant...donne-nous éventuellement la macro complète pour qu'on puisse te venir en aide...

A+ Vériland
 
Salut Vériland

Voila le fichier (je l'ai minimisé en supprimant les autres feuilles et modules), j'ai aussi fait un essai en copiant la feuille et la macro dans un nouveau classeur et sur celui ci ca marche !!! pourquoi !!! mystère.

Si tu peux me resoudre se probleme ca serait sympa de ta part, et je voudrais surtout savoir le pourquoi et le comment.

d'avance merci.
 

Pièces jointes

Re Jare,

Excuse pour le temps passé, mais j'ai regardé le fichier dans tous les sens...j'ai fait les vérifications d'usage...VBA...formule...feuille...bouton...rien de particulier...partant du principe qu'il n'y avait pas d'erreur apparante, j'ai carrément refait ton programme sur un nouveau fichier...et maintenant ça marche (!!??!!)

Je ne saurais pas t'expliquer clairement ce qu'il y avait...la seule chose que j'ai pu constater c'est la différence après enregistrement, de la taille du fichier XLS (même contenu)...

ton fichier XLS ----> 52 Ko
mon fichier XLS ---> 48,5 Ko (!!??!!)

J'en déduis qu'il y avait quelque chose de "caché"...mais quoi ?...Mystère...

P'têt que quelqu'un d'autre saura !!!

Bon ben sur ce Bonne nuit

A+ Vériland
 

Pièces jointes

En fait, normalement une formule introduite par VBA l'est en anglais par défaut. C'est pourquoi on écrit

"=RC[1]/0.75" où RC signifie Row Column et le point est le séparateur décimal

et ça marche bien dans un fichier "ordinaire".
mais pour une raison que je ne m'explique pas, ton fichier n'accepte que les formules locales, donc traduites en Français, comme ça :

"=LC(1)/0,75"

Pourquoi ? ça dépend probablement de la version Excel utilisée pour créer ton fichier. Mais quel est le facteur déterminant, mystère. En tout cas ta macro peut fonctionner dans ton fichier, si tu la modifies ainsi :

Sub NouvelleCompo2()
Dim Ligne As Long
For Ligne = 2 To Range("A1").CurrentRegion.Rows.Count
Cells(Ligne, 5).FormulaR1C1Local = IIf(Cells(Ligne, 1).Value <> 0, _
"=LC(1)/0,75", "")
Next Ligne

End Sub

tu remarqueras que j'ai utilisé FormulaR1C1Local parce que maintenant, si tu copies cette même procédure dans un autre fichier en utilisant FormulaR1C1, tu auras une erreur, mais une erreur "logique" cette fois-ci.
 
Bonjour Ti, Jare et le Forum,

Ah ben voilà qui explique certainement cela...Merci Ti pour ton intervention et tes explications...;-)...Maintenant y'a plus qu'à essayer sur ton Excel Jare...chez moi les deux fonctionnent...

A+ Vériland
 
Salut le forum,

Merci à Ti et Vériland pour leur tenacité à essayer de résoudre un problème assez mystérieux, maintenant que Ti en parle, effectivement le fichier a été créé au départ avec Excel95 ce n'est que depuis peu que je suis sur Excel2000 !!.

Merci encore, bon dimanche

A+ Jare
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
569
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
3
Affichages
485
Réponses
10
Affichages
714
Retour