Mettre des valeurs aléatoires si une valeur texte est saisie

Bonjour, je joint un fichier sur lequel mon ancienne macro ne me sert plus (en Feuil1).

J'ai essayé de la modifier pour faire ce que je souhaite sur la feuille "nouvelle feuille" mais sans succés.

Quelqu'un pourrait-il m'aider svp?

Merci par avance

20essai.zip (536.32 Ko)

Bonsoir,

code à mettre sur votre feuille, il détecte le changement de valeur en colonne F, je suis parti du principe d'effacer ces valeurs si une valeur numérique est inscrite en F :

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    If Not Intersect(Range("F:F"), Target) Is Nothing And Target.Row > 1 And Not IsNumeric(Target.Value) Then
        Target.Offset(, 1) = (Int(Rnd * 46) + 5) / 100
        Target.Offset(, 2) = (Int(Rnd * 4) + 2) / 100
    Else
        Target.Offset(, 1).Resize(1, 2) = ""
    End If
    Application.EnableEvents = True
End Sub

RND donne un chiffre aléatoire entre 0,0 et 0,999999999... En le multipliant par 46 on obtient un numéro aléatoire compris entre 0 et 45,9999999999, en prenant la partie entière on obtient un chiffre compris entre 0 et 45, donc pour avoir entre 5 et 50 on ajoute 5, puis on divise par 100 pour être entre 0.05 et 0.50.

@ bientôt

LouReeD

Merci pour ce retour rapide et la solution avec vos explications. Je vais tester

@bientôt

Bonjour, j'ai réussit à intégrer votre solution à mon tableau et j'ai bien compris votre explication.

Par contre, lorsque je veux effacer les données de la feuille, juste sélectionner tout et effacer, des chiffres apparaissent dans les colonnes C à I!? Est-il possible d'éliminer ce problème ou plus facile de créer à partie d'une copie vierge à chaque fois?

Merci par avance

Bonjour,

Voir vos MP...

@ bientôt

LouReeD

Rechercher des sujets similaires à "mettre valeurs aleatoires valeur texte saisie"