=CHOISIRCOLS(G4:P4;SEQUENCE(EQUIV(10;G4:P4;0)))
Non, cela ne fonctionne pas pour une séquence 0 10 10 0 0 0 car récupérera la position du premier 10 et non la dernière valeur non nulle. on obtient 0 10 et non 0 10 10.
d'où l'intérêt de EQUIVX et RECHERCHEX qui permettent de chercher depuis la fin
Autre proposition avec INDEX, MAX et COLONNE à partir de la plage G4:P4
=G4:INDEX(G4:P4;1+MAX((G4:P4<>0)*(COLONNE(G4:P4)-COLONNE(G4))))
Ou encore comme la demande est d'afficher une chaine vide quand il n'y a plus que des "0".
=SI(COLONNE(G4:P4)<=MAX((G4:P4<>0)*COLONNE(G4:P4));G4:P4;"")
Et comme il s'agit d'un affichage, pourquoi pas une MEFC si la colonne est > à la dernière différente de 0, police rouge (pour la démo mais à mettre en blanc sur blanc)
=COLONNE(G4)>MAX(($G4:$P4<>0)*COLONNE($G4:$P4))
Stéphane