bonsoir,
voici ce qui m'occupe !
une matrice de +- 50 lignes comporte 5 colonnes.
je souhaite afficher un label de la 3 eme colonne et un checkbox de la 4 eme colonne
et ce pour les lignes existantes
la 3eme colonne est le le nom
et je dis en 4 eme colonne si le nom existe ou pas (0 1)

je crée un gui
j affiche les noms et les checkbox
cela a l'air de marcher en écran !

ou cela se corse c est à la fin du code la ou j'ai placé le callback que j'ai nommé "mafonction"
en fait je souhaite ,à partir du gui, cocher ou décocher les checkbox.
cela fonctionne sur le gui mais comment récupérer les nouvelles valeurs modifiées sur l'écran
de sorte que la colonne numéro 4 soit remise a jour.

je joins le bout de code

quelqu'un peut il m' aider
merci

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
clc;clear;
%   ==================================
%   LISTE DES CONNECTEURS
%   ==================================
m20 = [...
    25.4   101.6    0310   1 1
    25.4   203.2    0320   1 1
    50.8   101.6    0510   1 1
    50.8   127.0    0513   1 1
    50.8   152.4    0515   1 1
    50.8   177.8    0518   1 1
    76.2   101.6    0810   0 1
    76.2   127.0    0813   0 1
    76.2   152.4    0815   0 1
    76.2   177.8    0818   0 1
    76.2   203.2    0820   0 1
    76.2   254.0    0825   1 1
    76.2   304.8    0830   1 1
    89.5   101.6    0910   1 1    
    89.5   152.4    0915   1 1    
    89.5   203.2    0920   1 1    
    89.5   254.0    0925   1 1    
   101.6   101.6    1010   1 1
   101.6   127.0    1013   1 1
   101.6   152.4    1015   1 1
   101.6   177.8    1018   1 1
   101.6   203.2    1020   1 1
   101.6   254.0    1025   1 1
   101.6   304.8    1030   1 1
   127.0   101.6    1310   1 1
   127.0   127.0    1313   1 1
   127.0   152.4    1315   1 1
   127.0   177.8    1318   1 1
   127.0   203.2    1320   1 1
   127.0   254.0    1325   1 1
   127.0   304.8    1330   1 1
   152.4   152.4    1515   1 1 
   152.4   177.8    1518   1 1 
   152.4   203.2    1520   1 1         
   152.4   254.0    1525   1 1 
   152.4   304.8    1530   1 1
   203.2   203.2    2020   1 1
   203.2   254.0    2025   1 1
   203.2   304.8    2030   1 1
   203.2   356.0    2035   1 1
   203.2   406.0    2040   1 1
   229.0   203.2    2320   1 1   
   229.0   254.0    2325   1 1   
   229.0   304.8    2330   1 1   
   229.0   356.0    2335   1 1   
   229.0   406.0    2340   1 1
   ];			 
% ==============
% CALC H FIGURE
%===============
yourscreen=get(0, 'screensize');
 
%   hmatrix = [...
%   q m20             ,q m20h            ,q m20special ,q m14 ,q m16h
%   ]
hmatrix1=[...
         size(m20,1)
         ];
% hmatrix2 = [...
%   your screen width ,your screen height, 0 , 0 , 0
%   0                 ,h first interline , 0 , 0 , 0
%   h line 1          ,h inter line 1    , 0 , 0 , 0 
%   ]
hmatrix2=[...
         yourscreen(1,3), yourscreen(1,4), 0,  0,  0 ;
         0              , 8              , 0,  0,  0 ;
         10             , 6              , 0,  0,  0 ;
         ];  
hmatrix3=[...
hmatrix2(2,2)+(hmatrix2(3,1)+hmatrix2(3,2) )*size(m20,1),...
];
 
% hmatrix4 =
hmatrix4=[...
           ];
%   ==================================
%   CREATE FIGURE
%   ==================================
hf1=840;
lf1=10;rf1=10;wf1=300;
posfig1=[lf1,rf1,wf1,hf1];
 
fig1=figure('units','pixels',...
    'position',[250 250 500 500],...
    'color',[0.8 0.8 0.8],...
    'numbertitle','off',...
    'name','PLATING M20',...
    'position' , posfig1,...
    'menubar','none',...
    'tag','interface');  
%   ==================================
%   CREATE TEXT & CHECK BOX ON FIGURE
%   ==================================                     
b=hf1;
l=10;b;w=30;h=15;
im20=hmatrix1(1,1);
for i=1:1:im20
    val(i)= m20(i,4);
    if val(i) == 0
        f1_enable='off'; % plate on the list
    else
        f1_enable='on'     ;% plate off the list
    end
label_1(i) = uicontrol( fig1 , 'style' , 'text' , ...
                             'units' , 'pixels', ...
                             'position' , [l,b-i*17,w,h] ,...
                             'HorizontalAlignment','left',...    
                             'string' , m20(i,3),...
                             'fontname', 'couriernew', ...
                             'fontsize', 8, ...
                             'fontweight', 'bold',...
                             'backgroundcolor',[0.8 0.8 0.8], ...
                             'foregroundcolor',[0 0 0],...
                              'enable',f1_enable);  
 
checkbox_1(i) = uicontrol( fig1 , 'style' , 'checkbox' ,...
                            'units' , 'pixels', ...
                            'Position' ,[l+50,b-i*17,15,h] ,...
                            'fontname', 'couriernew', ...
                            'fontsize', 8, ...
                            'fontweight', 'bold',...
                            'backgroundcolor',[0.8 0.8 0.8], ...
                            'foregroundcolor',[0 0 0],...
                            'value',m20(i,4),...
                            'callback','mafonction');
 
end