Bonjour à tous,
Quand je parlais de position, je parlais de position dynamique. Il y a peut être plus optimisé, j'attends de voir si quelqu'un poste un alternative.
Par contre je vous laisse l'adapter à votre fichier, pour récupérer la valeur du dé et la placer dans la macro de déplacement . Ici elle était fixée en AB1, mais elle peut être intégrée dans une variable sans passer par la feuille :
Sub DEPLACEMENT()
Dim CELLULE()
Dim POS_I$, i%, DE%
DE = [AB1] 'A adapter pour récupérer directement a partir du USF
CELLULES = Array("$A$2", "$B$2", "$B$3", "$B$4", "$B$5", "$B$6", "$B$7", "$B$8", "$C$8", "$D$8", "$E$8", "$E$7", "$E$6", "$D$6", "$D$5", "$D$4","$D$3", "$E$3", "$F$3", "$G$3", "$H$3", "$I$3", "$J$3", "$J$4", "$J$5", "$J$6", "$J$7", "$I$7", "$H$7", "$H$8", "$H$9", "$H$10", "$I$10", "$J$10", "$K$10", "$L$10", "$M$10", "$N$10", "$N$9", "$N$8", "$N$7", "$N$6", "$O$6", "$P$6") 'On défini le parcours dans l'ordre
POS_I = ActiveSheet.UsedRange.Find(What:="X").Address 'Renvoi position du pion
For i = LBound(CELLULES) To UBound(CELLULES) 'Boucle pour trouver la position dans le tableau et y ajouter la valeur du dé si rencontrée
If CELLULES(i) = POS_I Then
POS_F = CELLULES(i + DE)
End If
Next i
Range(POS_F) = "X" 'MaJ position
Range(POS_I).ClearContents 'Efface ancienne position
End Sub
Cdlt,
Edit : Comme l'a dit galopin, Excel n'est pas vraiment destiné aux animations. J'espère que tu trouveras un code plus optimisé ..
Edit 2 : J'ai essayé de protéger la feuille sauf les cellules du chemin et faire un pseudo next cellule déprotégée cependant même avec une tabulation, ça ne suit pas le chemin dans l'ordre car ce n'est pas le fonctionnement d'Excel.