Bonjour à tous

Je cherche à tester la valeur de retour d'une inputDlg et je rencontre quelques petis soucis

Voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
%Booléen pour la sortie de la boucle
Sortie = false;
 
%Booléen pour marquer qu'il y a annulation
Annulation = false;
 
%On le prompt pour la boite de dialogue
Prompt = 'Fréquence d''échantillonage';
 
%Tant que l'on ne doit pas sortir
while(~Sortie)
   %On appelle la boite de dialogue pour la saisie de la fréquence
   Retour = inputdlg(Prompt, Prompt);
 
   %Si la valeur de retour n'est pas vide
   if (~isempty(Retour))
      %Si la valeur de retour n'est pas une chaine vide
      if(~strcmp(Retour, ''))
         %Si la valeur saisie contient que des chiffres
         if(~isempty(str2num(Retour)))
            %On sauvegarde la fréquence
            FreqEch = str2num(Retour);
 
            %On marque que l'on sort de la boucle
            Sortie = true;
         end
      end
   %Sinon la valeur de retour est vide
   else
      %On marque que l'utilisateur à annulé
      Annulation = true;
 
      %On sort de la boucle
      Sortie = true;
   end
end
J'ai une erreur

??? Error using ==> str2num at 33
Requires string or character array input.

Error in ==> CalculsPlateForme>MenuItemChargerClick at
173
if(~isempty(str2num(Retour)))

??? Error while evaluating uimenu Callback
Et je ne voit pas pourquoi car j'ai tester ce qu'il y a dans Retour et il y a bien une chaine.

Merci d'avance pour votre aide