Sorry, in effect, I must use dellkey and it works apparently.
But I need some advices about the logical.
This a script wich displays subkeys:
;BREAK ON
IF $Key = 0
$Key = "HKEY_CURRENT_USER\test"
CLS ; Clear screen
Settitle("EnumKeys.kix, Programme de recherche dans la base de registre.")
$StringToFind="test"
ENDIF
;============================================================================
; enumerates subkeys. =
;============================================================================

DIM $Index, $SaveKey

$Index = 0
$SubKey = EnumKey( $Key , $Index )
WHILE @ERROR = 0

$SaveKey = $Key
$Key = $Key + "\" + $SubKey

? $Key ; displaying subkeys
sleep 1
CALL "\\karma\m-kalkoul\Dev\KixTart\Scripts\FindKeys\Save\EnumKeys.kix"

$Key = $SaveKey
IF @ERROR = 0
; try for next subkey
$Index = $Index + 1
$SubKey = EnumKey( $Key , $Index )
ENDIF
LOOP


$Index = 0
$Value = EnumValue( $Key , $Index )
WHILE @ERROR = 0
? $Key + "|" + $Value ;Displaying of values


$Index = $Index + 1
$Value = EnumValue( $Key , $Index )
LOOP

:FIN

EXIT 0
;============================================================================

I'etsted it and it works fine. But as it's call itself, I couldn't do what I want.
The goal is for a given string , deleted all subkeys and values and don't know where I can put the delkey function to having a clean script.

Someone can help me? Thanks in advance, Jaïd.