Inserer une formule dans une macro

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:

golfeur01

XLDnaute Nouveau
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+
 

golfeur01

XLDnaute Nouveau
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
 

job75

XLDnaute Barbatruc
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+
 

golfeur01

XLDnaute Nouveau
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+
 

golfeur01

XLDnaute Nouveau
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
 

job75

XLDnaute Barbatruc
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+
 

golfeur01

XLDnaute Nouveau
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+
 

Discussions similaires

Réponses
2
Affichages
160
Réponses
10
Affichages
325

Membres actuellement en ligne

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1