1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| 'Génération de l'exercice <Binaire -> Décimal> pour notation binaire non-signée
Private Sub Bns_BinDec_Click()
ActiveSheet.Unprotect 'Désactivation de la protection de la feuille
Randomize 'Activation de la fonction aléatoire
'Variables
Dim ColEx, RowEx, ColSol, RowSol, ColRep, RowRep, Ajout0 As Integer
'Définition de la cellule contenant l'exercice
ColEx = 3
RowEx = 5
'Définition de la cellule contenant la solution
ColSol = 4
RowSol = 6
'Définition de la cellule pour écrire la réponse
ColRep = 3
RowRep = 6
'Génération de la solution (nb décimal)
Cells(RowSol, ColSol) = Int(Rnd * 255) + 1
'Génération de l'exercice (nb binaire)
Cells(RowEx, ColEx) = DecimalToBase(Cells(RowSol, ColSol), 2) 'Conversion en binaire
Ajout0 = 8 - Len(Cells(RowEx, ColEx)) 'Calcul du nombre de 0 à ajouter pour avoir 1 octet
For j = 1 To Ajout0 'Ajout des 0 à gauche pour former 1 octet
Cells(RowEx, ColEx) = "0" & Cells(RowEx, ColEx)
Next j
Cells(RowRep, ColRep) = "" 'Suppression de l'ancienne réponse
Cells(RowRep, ColRep).Select 'Sélection de la cellule pour écrire la réponse
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'Activation de la protection
End Sub |
Partager