Eviter le recalcul d'une formule...

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

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.
 
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.
 
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...
 
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
 
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

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.
 
- 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.
Retour