Hi,
In the code below, if I comment the two lines, it's okay, but if I uncomment those two lines, the number of faces of the cubes is not white but black, and there are pieces of text green.
Best regards,
Fabrice

\usemodule[tikz]
\usetikzlibrary[calc]
\usetikzlibrary[cd]
\usetikzlibrary[3d]
\usetikzlibrary[arrows.meta]
\usetikzlibrary[positioning]
%\definecolor[H1prime][c=0.50, m=0.00, y=1.00, k=0.00]
%\definecolor[H4][c=0.07, m=0.00, y=0.15, k=0.00]
\starttext

\startsetups[table:initialize]
  \setupTABLE[height=2.5cm,align={middle,lohi}]
  \setupTABLE[column][2][[width=3cm,align={right,lohi},frame=off]
  \setupTABLE[column][3][[width=8cm,align={right,lohi},frame=off]
  \setupTABLE[1][1][[width=5cm,align={right,lohi},frame=off]
  \setupTABLE[1][2,3][bottomframe=off]
  \setupTABLE[1][3,4][topframe=off]
\stopsetups
\bTABLE[setups=table:initialize]
\switchtobodyfont[11pt]
        \bTR \bTD \color[orange]{\tfa Suite d'instructions correspondant au programme de calcul :} \eTD \bTD \eTD \bTD \color[orange]{\tfa Valeur de la variable $X$ après l'exécution de chaque instruction :} \eTD \eTR
    \bTR
        \bTD $X$ prend la valeur $7$ \eTD \bTD \dontleavehmode \startMPcode input hvdm;
l:=2.8mm; r:=0.6; alfa:=45; beta:=0; gamma:=0;
defineDefaultArrow (l, r, alfa, beta, gamma); pickup pencircle scaled 0.4mm; arrowline (0cm,0cm)--(3cm,0cm) withcolor blue  ;\stopMPcode \eTD
\bTD On affecte à $X$ la valeur $7$ : la valeur de $X$ est \color[green]{$7$}. \eTD
        \eTR
    \bTR
        \bTD $X$ prend la valeur $2X$ \eTD \bTD \dontleavehmode \startMPcode input hvdm;
l:=2.8mm; r:=0.6; alfa:=45; beta:=0; gamma:=0;
defineDefaultArrow (l, r, alfa, beta, gamma); pickup pencircle scaled 0.4mm; arrowline (0cm,0cm)--(3cm,0cm) withcolor red  ;\stopMPcode\eTD
\bTD On affecte à $X$ la valeur $2X$.\\Comme la valeur de $X$ est \color[green]{$7$}, la nouvelle valeur de $X$ est : $2\times\color[green]{7}$.\\La valeur de $X$ est maintenant \color[green]{$14$}.
 \eTD
        \eTR
        \bTR
        \bTD $X$ prend la valeur $X+3$ \eTD \bTD \dontleavehmode \startMPcode input hvdm;
l:=2.8mm; r:=0.6; alfa:=45; beta:=0; gamma:=0;
defineDefaultArrow (l, r, alfa, beta, gamma); pickup pencircle scaled 0.4mm; arrowline (0cm,0cm)--(3cm,0cm) withcolor green  ;\stopMPcode\eTD
        \eTR
\bTD On affecte à $X$ la valeur $X+3$.\\Comme la valeur de $X$ est \color[green]{$14$}, la nouvelle valeur de $X$ est : $\color[green]{14}+3$.\\La valeur de $X$ est maintenant \color[green]{$17$}.
 \eTD   
\eTABLE{}

\startsetups[table:initialize]
  \setupTABLE[height=2cm,align={middle,lohi}]
  \setupTABLE[column][1][[width=4cm,align={right,lohi},frame=on, framecolor=H1prime]
  \setupTABLE[column][2][[width=5cm,align={middle,lohi},frame=off]
  \setupTABLE[column][3][[width=1cm,align={middle,lohi},frame=off]
  \setupTABLE[column][4][[width=9cm,align={right,lohi},frame=off]
  \setupTABLE[1][1][frame=off]
  \setupTABLE[1][2,3][bottomframe=off]
  \setupTABLE[1][3,4][topframe=off]
\stopsetups
\bTABLE[setups=table:initialize]
\switchtobodyfont[10pt]
\bTR
\bTD \color[red]{ Suite d'instructions :} \eTD
\bTD \eTD
\bTD \eTD
 \bTD \color[orange]{ Valeur de la variable $A$  et valeur de la variable $B$ après l'exécution de chaque instruction :}\eTD
\eTR
\bTR
\bTD $A$ prend la valeur $3$ \eTD
\bTD
\tikzset{%
  cube join/.style={
    thick, -{Stealth},
  },
  cube face/.style={
    minimum size=1cm, outer sep=0pt,
    draw=white, thick, line join=round,
    shading=ball,
    text=white,
  },
  face color/.style={cube face/.append style={ball color=#1}}, 
  pics/cube/.style args={#1 with #2}{
  code={
    \node [cube face, label={[name=-label]below:#2}] (-front) {#1};
    \node [cube face] (-top)  at (-front.north west) [anchor=south west, xslant=1, yscale=1/3] {};
    \node [cube face] (-side) at (-front.south east) [anchor=south west, yslant=1, xscale=1/3] {};
   }}
}
\starttikzpicture
\pic [cube face/.append style={ball color=green}] at (-1, 1) {cube=3  with $A$};\pic [cube face/.append style={ball color=red}] at ( 1, 1) {cube={} with $B$}; 

\stoptikzpicture
 \eTD
\bTD
\dontleavehmode \startMPcode input hvdm;
l:=2.8mm; r:=0.6; alfa:=45; beta:=0; gamma:=0;
defineDefaultArrow (l, r, alfa, beta, gamma); pickup pencircle scaled 0.4mm; arrowline (1cm,0cm)--(0cm,0cm)  ;\stopMPcode
\eTD
\bTD La valeur de $A$ est \color[green]{3} et $B$  n'a pas encore de valeur \eTD
\eTR
\bTR
\bTD $B$ prend la valeur $A+1$ \eTD
\bTD
\tikzset{%
  cube join/.style={
    thick, -{Stealth},
  },
  cube face/.style={
    minimum size=1cm, outer sep=0pt,
    draw=white, thick, line join=round,
    shading=ball,
    text=white, font=\bfseries
  },
 face color/.style={cube face/.append style={ball color=#1}},  
  pics/cube/.style args={#1 with #2}{
  code={
    \node [cube face, label={[name=-label]below:#2}] (-front) {#1};
    \node [cube face] (-top)  at (-front.north west) [anchor=south west, xslant=1, yscale=1/3] {};
    \node [cube face] (-side) at (-front.south east) [anchor=south west, yslant=1, xscale=1/3] {};
   }}
}
\starttikzpicture
\pic [cube face/.append style={ball color=green}] at (-1, 1) {cube=3  with $A$};
\pic [cube face/.append style={ball color=red}] at ( 1, 1) {cube=4 with $B$};
\stoptikzpicture
\eTD
\bTD
\dontleavehmode \startMPcode input hvdm;
l:=2.8mm; r:=0.6; alfa:=45; beta:=0; gamma:=0;
defineDefaultArrow (l, r, alfa, beta, gamma); pickup pencircle scaled 0.4mm; arrowline (1cm,0cm)--(0cm,0cm)  ;\stopMPcode
\eTD
\bTD Comme la valeur de $A$ est \color[green]{$3$}, la valeur de $B$ est : $\color[geen]{3}+1$, soit \color[red]{$4$}.\\La valeur de $A$ ne change pas : elle reste égale à \color[green]{$3$}.\eTD
\bTR
\bTD $A$ prend la valeur $A+B$ \eTD
\bTD
\tikzset{%
  cube join/.style={
    thick, -{Stealth},
  },
  cube face/.style={
    minimum size=1cm, outer sep=0pt,
    draw=white, thick, line join=round,
    shading=ball, ball color=red,
    text=white, font=\bfseries
  },
  face color/.style={cube face/.append style={ball color=#1}},   
  pics/cube/.style args={#1 with #2}{
  code={
    \node [cube face, label={[name=-label]below:#2}] (-front) {#1};
    \node [cube face] (-top)  at (-front.north west) [anchor=south west, xslant=1, yscale=1/3] {};
    \node [cube face] (-side) at (-front.south east) [anchor=south west, yslant=1, xscale=1/3] {};
   }}
}
\starttikzpicture
\pic [cube face/.append style={ball color=green}] at (-1, 1) {cube=7  with $A$};
\pic [cube face/.append style={ball color=red}] at ( 1, 1) {cube=4 with $B$};

\stoptikzpicture
\eTD
\bTD
\dontleavehmode \startMPcode input hvdm;
l:=2.8mm; r:=0.6; alfa:=45; beta:=0; gamma:=0;
defineDefaultArrow (l, r, alfa, beta, gamma); pickup pencircle scaled 0.4mm; arrowline (1cm,0cm)--(0cm,0cm)  ;\stopMPcode
\eTD
\bTD Comme la valeur de $A$ est \color[green]{3} et que celle de $B$ est \color[red]{$4$}, la nouvelle valeur de $A$ est : $\color[green]{3}+\color[red]{4}$, c'est-à-dire \color[green]{$7$}.\\La valeur de $B$ ne change pas : elle reste égale à \color[red]{$4$}.
\eTD
\eTR   
\eTABLE{}
\stoptext