Inserer une formule dans une macro

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

golfeur01

XLDnaute Nouveau
Bonjour,

J'ai crée un fichier que je transfere dans un autre fichier avec une macro. Après le transfert, les données du fichier s'effacent (Selection.ClearContents). J'aimerais garder une formule dans une cellule sélectionnée afin de pouvoir l'utiliser a chaque fois que j'entre des nouvelles données dans le fichier. La formule est la suivante: SI('Corrections,Joueurs.!E3=2;2;SI('Corrections,Joueurs'!F3=3;3;"".
SVP me donner la formulation avec la fonction "If" qui me permettrais d'insérer la formule dans la macro.

Merci

Voici ce que ça donne comme formule dans la macro:
Sheets("Entrée, Données").Select
Range("C5").Select
ActiveCell.FormulaR1C1 = _
"=IF('Corrections,Joueurs'!R[-1]C[2]=2,2,IF('Corrections,Joueurs'!R[-1]C[3]=3,3,""""))"

Merci encore pour vos réponses. Comme mentionné, elle m'ont été très utiles car j'ai réussi à faire fonctionner la formule dans la cellule C5 du fichier "Entrée, Données"

J'aimerais savoir s'il y a un moyen de répéter cette formule pour les cellules C4 jusqu'à C86 dans le fichier "Entrée, Données"
sans avoir à répéter la formule 70 fois dans la macro.

Merci
 
Dernière édition:
Re : Inserer une formule dans une macro

Bonsoir st007,

Merci pour ta réponse rapide. J'ai utilise la méthode de vmatthieu qui a fonctionne super bien. Ta réponse est excellente sauf que, selon la macro que j'ai crée, la Row doit être -1 et les colonnes -2 et -3
A+
 
Re : Inserer une formule dans une macro

Voici ce que ça donne comme formule dans la macro:
Sheets("Entrée, Données").Select
Range("C5").Select
ActiveCell.FormulaR1C1 = _
"=IF('Corrections,Joueurs'!R[-1]C[2]=2,2,IF('Corrections,Joueurs'!R[-1]C[3]=3,3,""""))"

Merci encore pour vos réponses. Comme mentionné, elle m'ont été très utiles car j'ai réussi à faire fonctionner la formule dans la cellule C5 du fichier "Entrée, Données"

J'aimerais savoir s'il y a un moyen de répéter cette formule pour les cellules C4 jusqu'à C86 dans le fichier "Entrée, Données"
sans avoir à répéter la formule 70 fois dans la macro.

Merci
 
Re : Inserer une formule dans une macro

Bonjour golfeur01, le fil, le forum,

Une fois pour toutes sachez qu'en VBA les Select sont généralement inutiles, voire nuisibles :

Code:
Sheets("Entrée, Données").[C4:C86].FormulaR1C1 = _
"=IF('Corrections,Joueurs'!R[-1]C[2]=2,2,IF('Corrections,Joueurs'!R[-1]C[3]=3,3,""""))"
A+
 
Re : Inserer une formule dans une macro

Bonjour Job75,

Ça fonctionne comme sur des roulettes. Merci beaucoup pour ton aide.

PS: Je ne suis pas familier avec toutes les expressions utilisées dans un forum. Que veux tu dire par " le fil, le forum " après ton bonjour ?

A+
 
Re : Inserer une formule dans une macro

Re bonjour Job75
Je voudrais ajouter une nouvelle portion à la formule que tu m'as suggéré ci-haut. La portion contient du texte et je ne sais pas comment entrer la formule avec du texte. La macro me donne une erreur à chaque fois que je change le nombre de guillemets autour du mot DUMMY ET de la lettre D. Le reste de la formule fonctionne parfaitement. SVP compléter la formule comme elle devrait s'afficher.

Sheets("Entrée, Données").[C4:C86].FormulaR1C1 = _
"=IF('Corrections,Joueurs'!R[-1]C[1]=DUMMY,D,IF('Corrections,Joueurs'!R[-1]C[2]=2,2,IF('Corrections,Joueurs'!R[-1]C[3]=3,3,""""))"

Encore merci pour ton aide
 
Re : Inserer une formule dans une macro

Bonjour,

je ne sais pas comment entrer la formule avec du texte.
Vous ne cherchez pas beaucoup, les textes doivent être entre guillemets doubles :

Code:
Sheets("Entrée, Données").[C4:C86].FormulaR1C1 = _
 "=IF('Corrections,Joueurs'!R[-1]C[1]=""DUMMY"",""D"",IF('Corrections,Joueurs'!R[-1]C[2]=2,2,IF('Corrections,Joueurs'!R[-1]C[3]=3,3,"""")))"
Il manquait aussi une parenthèse ) à la fin.

A+
 
Re : Inserer une formule dans une macro

Bonjour Job75,

Je sais que le texte doit être entre guillemets doubles. J'ai essayé mais ça n'a pas fonctionné. Étant novice en langage VBA, je ne savais plus quoi faire. Je crois que le problème venait du fait qu'il manquait une parenthèse à la fin. Je ne savais pas que je devais ajouter une parenthèse.
Merci infiniment pour ton aide. J'ai beaucoup appris avec nos discussions et mon fichier est maintenant opérationnel.

Merci encore

A+
 
- 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

Retour