erreur 1004 dans une macro

  • Initiateur de la discussion Emeline
  • Date de début
E

Emeline

Guest
J'ai fais un bouton radio et quand on clique dessus cela va mettre des valeurs dans des cellules d'une autre feuille.
Pour faire le code, j'ai utilisé l'enregistreur de macro. Quand je fais tourner la macro cela fonctionne bien, mais quand je fais un copier coller du code pour le mettre dans celui du bouton radio, ensuite cela me fais une erreur. Voilà le code :
Private Sub Euro_Click()
Sheets("data").Select
Range("L11").Select (c'est ici qu'il me signale une erreur)
ActiveCell.FormulaR1C1 = "10"
Range("F60").Select
ActiveCell.FormulaR1C1 = "0.017"
Range("F68").Select
ActiveCell.FormulaR1C1 = "0.48"
Range("F69").Select
ActiveCell.FormulaR1C1 = "0.06"
Range("F70").Select
ActiveCell.FormulaR1C1 = "0.006"
Range("F71").Select
ActiveCell.FormulaR1C1 = "1.26"
Range("L58").Select
ActiveCell.FormulaR1C1 = "0.36"
Range("L59").Select
ActiveCell.FormulaR1C1 = "120"
Range("L60").Select
ActiveCell.FormulaR1C1 = "10"
Range("L62").Select
ActiveCell.FormulaR1C1 = "520"
Range("F76").Select
ActiveCell.FormulaR1C1 = "0.12"
Range("F77").Select
Sheets("main").Select
End Sub
C'est pourtant tout simple, je ne comprend pas pourquoi ça ne marche pas.
Pffff pourquoi j'ai pas un outil en Java....
 
J

Jean-Marie

Guest
Bonjour, Emeline

Je pense que ce code ci-dessous doit fonctionner. Tu dis que tu as inséré le code dans un bouton radio, je suppose qu'il se trouve dans un UserForm. Dans ton code, tu sélectionnes la cellule L11. VBA sélectionne la cellule L11 dans la fenêtre active, mais comme tu es encore dans l' UserForm, il n' y a pas de cellule, d'où l'erreur.
Avec l'instruction With tu regroupes des instructions pour un objet qui sera ta feuille.

J'espère avoir été assez explicite, sur la cause de ton problème.

Voici le code :

Private Sub Euro_Click()
With Sheets("data")
.Range("L11") = "10"
.Range("F60") = "0.017"
.Range("F68") = "0.48"
.Range("F69") = "0.06"
.Range("F70") = "0.006"
.Range("F71") = "1.26"
.Range("L58") = "0.36"
.Range("L59") = "120"
.Range("L60") = "10"
.Range("L62") = "520"
.Range("F76") = "0.12"
.Range("F77").Select
End With
Sheets("main").Select
End Sub

Bonne journée

@+Jean-Marie
 
E

Emeline

Guest
Merci !!!
Ca marche si j'enlève la ligne Range("F77").Select.
Décidément, si j'vais pensé aux forums Excel au début de mon stage, ça m'aurait évité pas mal de prise de tête mais bon c'est aussi en ce débrouillant tt seul qu'on apprend !
 

Statistiques des forums

Discussions
312 673
Messages
2 090 778
Membres
104 664
dernier inscrit
jth