Eviter le recalcul d'une formule...

  • Initiateur de la discussion Athabaska
  • Date de début
A

Athabaska

Guest
Bonjour.
J'ai créé une macro qui me permet d'avoir une série de 7 nombres déterminés aléatoirement entre 3 et 18.

Cette macro est juste la répétition dans 7 cellules de la formule suivante : =2+ENT(ALEA()*16+1)
Je génére ces chiffres en cliquant sur un banal bouton qui appelle ma macro.

Mon problème, c'est que dé que je frappe la touche 'enter' de mon clavier, les chiffres aléatoires changent ! Et ça, je ne le voudrais pas...
J'ai essayer de retirer le calcul automatique de la feuille, mais ça perturbe ma macro qui me sort bien 7 nombres choisis aléatoirement... Mais les 7 mêmes... :S
Ce n'est donc pas idéal non plus.

Je ne sais plus comment faire. Pouvez vous m'aider ?
Merci par avance.
 
D

Déjà essayer...

Guest
Malheureusement... C'est le cas.

Le problème, c'est que dé que je frappe la touche 'entrée', la formule se recalcule. En fait, il faudrais qu'elle ne puisse être effective qu'une seule fois.
Ou qu'elle se recalcule à la demande seulement...

Une idée ?
Encore merci de m'aider.
 
I

Intéressant...

Guest
et bien avec ton autorisation, je vais essayer ta macro...
Voici celle que j'avais faite...
Peut tu me dire pourquoi la mienne se recalcule ?

Sub Carac()
'
' Carac Macro
' Génére les caractéristiques du personnage
'

'
ActiveSheet.Paste
Range('A3').Select
ActiveSheet.Paste
Range('A5').Select
ActiveSheet.Paste
Range('A7').Select
ActiveSheet.Paste
Range('A9').Select
ActiveSheet.Paste
Range('A11').Select
ActiveSheet.Paste
Range('A13').Select
ActiveSheet.Paste
End Sub

Encore merci...
 

PascalXLD

XLDnaute Barbatruc
Modérateur
re

A mon avis tu recopiais la formule et non une volée de chiffres aléatoires

Ta macro faisait de la recopie je suppose d'une formule tandis que celle que je te donne calcule un chiffre aléatoire et le mets dans ta cellule

Vu ce que ttu fais dans la tienne tu dois l'adapter ainsi

Sub aleatoire()

Dim x As Byte

For x = 1 To 13 step 2
Randomize
Range('A' & x) = Int((16 * Rnd) + 1) + 2
Next

End Sub

Bon courage
 
A

Athabaska

Guest
Je viens d'essayer ta macro, mais le problème reste le même...
Peut-être cela sera t'il plus clair si je joint mon fichier ?

1 : génère les nombre automatique
2 : entre des valeurs quelconque dans les cellules à droite. Tu verras que lorsque tu valide par entrée, les valeurs aléatoire changent...

[file name=Ficher perso ADD_20050531152613.zip size=18872]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Ficher perso ADD_20050531152613.zip[/file]
 

Pièces jointes

  • Ficher perso ADD_20050531152613.zip
    18.4 KB · Affichages: 23
A

Athabaska

Guest
Heu... Merci Pascal, mais je crois que tu as oublié de joindre le fichier... lol

En outre, peut tu me dire ce qui posais problème ? que je ne refasse pas la même bétise...

Merci beaucoup pour ton aide.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Oups

je crois bin que t'as raison :) :) [file name=FicherpersoADD.zip size=18196]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FicherpersoADD.zip[/file]
 

Pièces jointes

  • FicherpersoADD.zip
    17.8 KB · Affichages: 31

Statistiques des forums

Discussions
312 765
Messages
2 091 899
Membres
105 093
dernier inscrit
jeremxl