Bonsoir à tous et bonne année !
en reprenant ceci de la demande :
Je voudrais écrire un code VBA qui le fasse automatiquement après avoir introduit les 8 nombres n1 à n8.
Sub Remplace()
Dim Tablo()
' on récupère les valeurs du tableau 8 colonnes et 28 lignes
Tablo = Range("A1:H28")
' on boucle sur les lignes
For i = 1 To 28
' on boucle sur les colonnes
For j = 1 To 8
' la valeur du tableau est égal à la valeur numérique de la lettre - 96 (ASC("a") = 97 - 96 =1)
' le chiffre obtenu permet de "choisir" la valeur numérique voulu à savoir l'index 1 qui est égale à n1 etc)
Tablo(i, j) = Choose(Asc(Tablo(i, j)) - 96, "n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8")
' moins 96 pour "tomber" sur 1 mais si le "a" est majuscule ce sera -64
Next j
Next i
Range("A1").Resize(28, 8) = Tablo
End Sub
Le fichier :
Attention, une fois lancé les lettres ne sont plus accessible contrairement à la proposition d' X Cellus, sauf à modifier
Range("A1").Resize(28, 8) = Tablo
par
Range("J1").Resize(28, 8) = Tablo
par exemple
@ bientôt
LouReeD