Poster la valeur d'une variable dans une case Excel
Bien le bonjour , j'ai suivi l'astuce VBA : générer un code aléatoirement , cependant , j'aimerai aller plus loin , j'ai rajouter un bouton pour créer ce code , et , de plus , je souhaiterai que ce bouton me donne le code aléatoire dans une case Excel , j'ai essayer plusieurs méthode trouver sur internet avec "Dim code_alea as string" etc etc , et rien ne rentre mon code dans ma case (i,66) !
Pourrais-je avoir de l'aide svp
Bonjour,
Avec le code initial :
Sub code_aleatoire()
'www.excel-pratique.com/fr/astuces_vba/generer_codes_aleatoires
Randomize
carac = "ABCD1234"
code_alea = ""
For i = 1 To 10 '10 = longueur du code
nombre_aleatoire = Int(Len(carac) * Rnd) + 1
code_alea = code_alea & Mid(carac, nombre_aleatoire, 1)
Next
MsgBox code_alea
End SubTu peux déjà remplacé le MsgBox par l'adresse d'une cellule.
Exemple :
Sub code_aleatoire()
'www.excel-pratique.com/fr/astuces_vba/generer_codes_aleatoires
Randomize
carac = "ABCD1234"
code_alea = ""
For i = 1 To 10 '10 = longueur du code
nombre_aleatoire = Int(Len(carac) * Rnd) + 1
code_alea = code_alea & Mid(carac, nombre_aleatoire, 1)
Next
Range("A1").Value = code_alea
End SubOU, seconde solution, tu transformes cette Sub (procédure) en Function (fonction :=> procédure qui renvoie une valeur) :
Function Aleatoire() As String
carac = "ABCD1234"
code_alea = ""
For i = 1 To 10 '10 = longueur du code
nombre_aleatoire = Int(Len(carac) * Rnd) + 1
code_alea = code_alea & Mid(carac, nombre_aleatoire, 1)
Next
Aleatoire = code_alea
End FunctionCette fonction est utilisable en l'état dans la feuille. Suffit de saisir dans une cellule : =Aleatoire() tout comme n'importe laquelle des formules Excel...