/*version au 17 juillet 2015 : ajout de if*/

capture program drop nbvalues
program define nbvalues,rclass
version 7.0
syntax varlist(min=1 max=1) [if]

qui tabulate `varlist' `if',matrow(nbvalues)

local nrow=rowsof(nbvalues)

di "la variable `varlist' contient `nrow' valeurs differentes"
return scalar nrow=`nrow'
end