11
Poinçonnement des dalles sur poteau rectangulaire intérieur H. Thonie NF EN 1992-1-1 (EC2), clauses 6.4 et 9.4 Voir aussi le programme N° 130 août 2011 L'auteur n'es Géométrie responsable h 0.25 m épaisseur de la dalle rect 2 l'usage fait Résultats ce program // Ox // Oy #VALUE! p 12.19 0.8 0.3 m côtés du poteau // Ox et // Oy m #VALUE! coeff. moyen de majora 2 2 numéro des appuis b #VALUE! coeff. : §6.4.3 bre travée 5 5 #VALUE! MN effort de poinçonnemen 8 8 m portées entre-axes du côté début (à gauc #VALUE! MN effort de poinçonnemen 8 8 m portées entre-axes du côté fin (à droite soit #VALUE! % diminution due à la pr 8 8 m #VALUE! #VALUE! m périmètre du poteau #VALUE! MPa cisaillement au droit Charges #VALUE! MPa cisaillement limite au g 6.25 charges permanentes y compris poids propre de la #VALUE! ### q 2.5 charges d'exploitation k 1.943 1.35 coefficient ELU des charges permanentes #VALUE! m périmètre à la distanc 1.5 coefficient ELU des charges variables #VALUE! MPa cisaillement à la dist 12.188 charge ELU #VALUE! MPa cisaillement résistant #VALUE! ### #VALUE! m périmètre du contour e // Ox // Oy #VALUE! MPa contrainte efficace de 6.15 6.15 aires des armatures longitudinales BA s #VALUE! section totale des arm 0.23 0.22 m distance de l'axe de ces armatures à la #VALUE! ### 2.15 1.65 m #VALUE! nature des armatures d 2.861 3.728 armatures par m de largeur Ø #VALUE! mm diamètre de l'armature Armatures de poinçonnement éventuelles #VALUE! aire mini d'une armatu 0.21 mm hauteur hors tout des épingles ou étriers éventu #VALUE! aire nécessaire pour u #VALUE! aire d'armature mise e #VALUE! ### // Ox // Oy #VALUE! m ### aires d'un câble de précontrainte #VALUE! m ### m espacement des câbles #VALUE! m ### MPa contraintes des armatures de précontrain q #VALUE! ° angle de deux rayons s m distance de l'axe du câble à la fibre in N #VALUE! ### m distance de l'axe du câble à la fibre su #VALUE! m ### P 0 0 MN précontrainte par mètre de largeur #VALUE! m distance du dernier pé #VALUE! m ### l longueur relative de la parabole renversée sur a poids #VALUE! kg ### r 0.00 m rayon de courbure du câble sur appui : KO #VALUE! Matériaux #VALUE! 30 MPa résistance du béton #VALUE! 1.5 coefficient béton #VALUE! 500 MPa limite élastique acier #VALUE! 1.15 coefficient acier #VALUE! #VALUE! d 0.225 m hauteur utile moyenne r 0.145% % moyen d'armature passive 0.000 MPa contrainte moyenne de compression 0,4 d 0.090 m #VALUE! 0,5 d 0.113 m 0,75 d 0.169 m 1,5 d 0.338 m 2 d 0.450 m kN/m 2 charge ELU au m 2 c1 et c2 Numéroap nombre de travées Nti et NTj b.VEd Lx1 et Ly1 b.VEd,red Lx2 et Ly2 Lmoyen u0 vEd0 vRd,max kN/m 2 vEd0/vRd,max kN/m 2 gg u1 gq vEd pEd kN/m 2 vRd,c vRd/vRd,c Armatures longitudinales passives (de béton armé) éventuelles uout,ef fywd,eff Asx et Asy cm 2 /m Asw/sr cm 2 /m dx et dy nbrin distances c1+6d et c2+6d Asw,min cm 2 hep Asw,rqd cm 2 Asw,prov cm 2 Armatures actives éventuelles (précontrainte) nt nr Apx et Apy mm 2 sr,max sx et sy st,max spx et spy d1x et d1y d2x et d2y d1 dnr Lac fck gc fyk gs scp Ayant pris un cercle comme périmètre de uout au

104 Poinc Rectan V6

Embed Size (px)

DESCRIPTION

poinc rectan

Citation preview

Feuil1Poinonnement des dalles sur poteau rectangulaire intrieurH. ThonierAciers de poinonnementd0.2821.1coefficient de majoration pour continuit sur 1er appui intermdiaireNF EN 1992-1-1 (EC2), clauses 6.4 et 9.4.3Voir aussi le programme N 130aot 2011Airec11.4potxh0.25mpaisseur de la dalleL'auteur n'est pasp.160.2827433388c20.35poupoteaupingles HA8rayonspas de chapiteaucontour uout,efcontour u10g6.25kN/m2charges permanentes y compris poids propre de la dalleGomtrieresponsable dep.180.502654824600.40.15q2.5kN/m2charges d'exploitationh0.25mpaisseur de la dallerect2l'usage fait detr.260.5654866776nt16nb rayons10.4-0.15gg1.35coefficient ELU des charges permanentesRsultatsce programme.p.1100.7853981634nr5nbr cours2-0.4-0.15gq1.5coefficient ELU des charges variables// Ox// Oy0p12.19kN/m2charge ELU au m2tr.281.0053096491dab0.53-0.40.15b11.15coefficient de majoration b de l'effort VEd pour poteaux intrieurs(1,15 ?)c1 et c20.80.3mcts du poteau // Ox et // Oym1.100coeff. moyen de majoration de continuitp.1121.1309733553ncs1nb intermedi40.40.15b21.4coefficient de majoration b de l'effort VEd pour poteaux de rive (1,4 ?)Numroap22numro des appuisb1.150coeff. : 6.4.3p.1141.5393804003nb total cours2031011951213101155595310112938531011107323301103327310120852931011748143101150484310113209931011177173101278760310124233031012143223101192117310117408131014000003101400000310140000031014000003101400000110127876011012423301101214322110119211711011740811101208529110117481411011504841101132099110111771711011951211101155595110112938511011107321301103327110119512111011517841101124199110110509913011097801101195121110115559511011293851101110732130110332711012085291101174814110115048411011320991101117717110127876011012423301101214322110119211711011740811101400000110140000011014000001101400000110140000031012787603101242330310121432231011921173101174081310120852931011748143101150484310113209931011177173101195121310115559531011293853101110732330110332731011951213101151784310112419931011050993301109780110140000031014000001101400000310140000011014000003101400000110140000031014000001101400000310140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000310170962231017645613101709622310168340031017096223101764561310170962231016834003101709622310176456131017096223101683400310170962231017645613101709622310168340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000330110000033015000003302160000330310000000000000003101888888310188888831014000003101683400310130036031012758623101294972310142173131016643633101421731310129497231012758623101275862310127586231012949723101421731310166436331014217313101294972310127586231012758620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031011642763101150862310113940931011295283101120924000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101919700310161478331014617093101369666310130822131014356353101310525310124124231011972363101166808310138095231012546513101191246310115312031011276693101380952310124460231011801303101142555310111795131013809523101254651310119124631011531203101127669310143563531013105253101241242310119723631011668083101919700310161478331014617093101369666310130822100000000000000000000000000000000000000000000000000110191970011016147831101461709110136966611013082211101435635110131052511012412421101197236110116680811013809521101254651110119124611011531201101127669110138095211012446021101180130110114255511011179511101380952110125465111011912461101153120110112766911014356351101310525110124124211011972361101166808110191970011016147831101461709110136966611013082210000000000000000000000000000000000000000000000000031013809521101380952310124460211012446023101180130110118013031011425551101142555310111795111011179513101380952110138095231012446021101244602310118013011011801303101142555110114255531011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795111011179511101117951110111795131017096223101764561310170962231016834003101709622310176456131017096223101683400310170962231017645613101709622310168340031017096223101764561310170962231016834000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033011000003301500000330216000033031000000000000000310188888831018888883101400000310168340031013003603101275862310129497231014217313101664363310142173131012949723101275862310127586231012758623101294972310142173131016643633101421731310129497231012758623101275862000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101164276310115086231011394093101129528310112092400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b31.5coefficient de majoration b de l'effort VEd pour poteaux d'angle (1,5 ?)Nbre traves55nombre de traves Nti et NTjb.VEd0.9867MNeffort de poinonnement sans ...tr.2101.570796326810.51250249840.108731108l0longueur relative de la parabole renverse sur appuiLx1 et Ly188mportes entre-axes du ct dbut ( gauche ou au dessus)b.VEd,red0.9867MNeffort de poinonnement rduitp.1162.010619298320.6426941740.1626590195fck30MParsistance sur cylindre du btonLx2 et Ly288mportes entre-axes du ct fin ( droite ou au dessous)soit0.0%diminution due la prcontraintetr.2122.261946710630.77288711980.2165866379gc1.5Lmoyen88m0u02.2mprimtre du poteautr.2143.078760800540.90308131340.2705144644fyk500MPalimite lastique des aciers de bton armvEd01.993MPacisaillement au droit du poteau (sans chapiteau)p.1203.1415926536srUMC0.1460.650 d 0,75d ?rayon51.033270.3244425266gs1.15ChargesvRd,max4.224MPacisaillement limite au droit du poteautr.2164.0212385966UMR0.3331.480 d 2,0d ?60.4795496070.2295499673hep0.21mmhauteur hors tout des pingles ou triers ventuelsg6.25kN/m2charges permanentes y compris poids propre de la dallevEd0/vRd,max47.2%OKtr.2206.2831853072UMR20.2501.111 d 1,5d ? l'intrieur du contour u170.57203656460.3220352629q2.5kN/m2charges d'exploitationk1.94333012200003301199333330142240033015027433101114641310119263033033062503103189204330184475100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003301100696.UMA0.1130.500 d 0,5d ?80.66452247420.4145215178// Ox// Oynbrin,max11=pingle, 2=triergg1.35coefficient ELU des charges permanentesu15.027mprimtre la distance 2 d3301800000330110000031053513403105206883310119894300000000000000000000000000000000000000000000000000.UMI0.1130.500 d 0,3d ?90.75700800160.5070068345NT55Nombre de travesAsx et Asy6.151256.15125cm2aires des armatures longitudinales de bton armgq1.5coefficient ELU des charges variablesvEd0.872MPacisaillement la distance 2 dDonnes de base modifiablesjj100100.84949497520.5994916311n file22de 1 NT+1pEd12.1875kN/m2charge ELUvRd,c0.519MPacisaillement rsistant la distance 2 dk1.1coefficient de majoration pour continuit sur 1er appui intermdiaire (voisin de l'appui de rive)komp1110.35873152530.2625002625a et b0.80.3mcts a et b du poteau tudivRd/vRd,c168.0%arm ou chapiteaub11.15coefficient de majoration b de l'effort VEd pour poteaux intrieurs (6.4.3 ou Fig. 6.21N)120.41266042170.392694315Lx1 et Ly188mportes entre-axes du ct dbut de l'appui tudi ( gauche ou au-dessus)Armatures longitudinales passives (de bton arm) ventuellesuout,ef8.448mprimtre du contour extrieurb21.4coefficient de majoration b de l'effort VEd pour poteaux de rive (d)pas de chapiteau obligatoire130.46658765780.5228867532Lx2 et Ly288mportes entre-axes du ct fin ( droite ou en dessous)// Ox// Oyfywd,eff306.3MPacontrainte efficace de l'armatureb31.5coefficient de majoration b de l'effort VEd pour poteaux d'angle (d)1-40.125140.52051614380.6530825496Asx et Asy6.151256.15125cm2aires des armatures longitudinales de bton armAsx et Asy6.156.15cm2/maires des armatures longitudinales BA sur la largeur c+3dAsw/sr52.85cm2/msection totale des armatures d'un primtre/m radial0.46.4.5 (3) NOTE (coefficient 0,5 en base ou 0,4 suivant Correngidum N 2240.125au nu poteau150.57444522950.7832755015dx et dy0.230.22mdistance de l'axe de ces armatures la fibre suprieuredx et dy0.230.22mdistance de l'axe de ces armatures la fibre infrieurenbrin1nombre de brin (= pingle)dH0.1061789773160.250.2625002625spx et spy00MPacontraintes des armatures de prcontrainte2.151.65mdistances c1+6d et c2+6dpinglenature des armatures de poinonnement3-4-0.125hH-0.11170.250.4088274012Apx et Apy00mm2aires d'un cble de prcontrainte2.86104651163.728030303armatures par m de largeur8mmdiamtre de l'armature40-0.125LH-0.15180.250.5551546106sx et sy00mespacement des cblesArmatures de poinonnement ventuellesAsw,min0.28cm2aire mini d'une armature50-0.125L10.5190.250.7014836379d1x et d1y00mdistance de l'axe du cble la fibre infrieurehep0.21mmhauteur hors tout des pingles ou triers ventuelsAsw,rqd0.48cm2aire ncessaire pour une armature60-0.125L20200.250.8478096837d2x et d2y00mdistance de l'axe du cble la fibre suprieureAsw,prov0.50cm2aire d'armature mise en place070-0.12521-0.35873152530.2625002625Armatures actives ventuelles (prcontrainte)nt20nombre d'pingles par primtre (= nbre de rayons)84-0.12522-0.41266042170.392694315Fx et Fy00MNforce unitaire des cbles// Ox// Oynr5mnombre d'pingles par rayon (= nombre de prmtres)23-0.46658765780.5228867532scp00MPaApx et Apymm2aires d'un cble de prcontraintesr,max0.146mespacement maximal des pingles d'un rayon = 0,65 d9-0.4-0.125Chapiteau obligatoire ?24-0.52051614380.6530825496d0.225msx et symespacement des cblesst,max0.333mespacement maximal des d'pingles d'un primtre = 1,48 d10-0.4-0.9hauteur025-0.57444522950.7832755015p12.1875kN/m2charge ELU au m2spx et spyMPacontraintes des armatures de prcontrainteq18.0angle de deux rayons successifshauteur totale0.2526-0.4795496070.2295499673VEd0.9867MNeffort de poinonnement avant prise en compte du relevage des cblesd1x et d1ymdistance de l'axe du cble la fibre infrieureN100nombre total d'pingles (< 530)110.4-0.125dbord027-0.57203656460.3220352629VEd,red0.9867MNeffort de poinonnement aprs prise en compte du relevage des cblesd2x et d2ymdistance de l'axe du cble la fibre suprieured10.113mdistance du premier primtre au nu du poteau = 0,5 d120.4-0.9longueur 1028-0.66452247420.4145215178soit0.0%diminutionP00MNprcontrainte par mtre de largeurdnr1.007mdistance du dernier primtre l'axe du poteaulongueur 2029-0.75700800160.5070068345u02.2mprimtre du poteauLac0.402mlongueur dveloppe d'une pinglenbr armatures30-0.84949497520.5994916311beta1.15llongueur relative de la parabole renverse sur appuipoids31.6kgpoids des pingles de poinonnementdans chapiteauPas d'armatures ncessaires,31-0.51250249840.108731108r0.00mrayon de courbure du cble sur appui : KO00mais chapiteau non arm32-0.6426941740.16265901953101185185310128076333011961123302123221330129600033012460000000000000,33-0.77288711980.2165866379Sans chapiteau, sans armaturesMatriaux0d'pingleshauteur totale0.25mdel10.53335156250.53534-0.90308131340.2705144644scp0MPacontrainte de compression moyenne du btonSenrobage pinglefck30MParsistance du bton0types de chapiteauxdbord0.000mr10.11392156250.11535-1.033270.3244425266u15.027mprimtre du contour de contrle0.04gc1.5coefficient bton0longueur 10.8002.96L11.8736-0.51250249840vEd01.993MPacontrainte au nu du poteau33011000003301800000310168511633021600003301500000000000000000000000000000000000000000000000000000003103189204310120740300000000003101100571330212689833018447513101248756310140000033022250000000000000.fyk500MPalimite lastique acier0longueur 20.3002.46L21.3737-0.65883097030vRd04.224MPa47.2%< 1 : OKgs1.15coefficient acier0vRdc0.36MPa38-0.80515946180vEd0.872MPacontrainte sur le contour de rfrence u10ucont12.3221m39-0.9514838390vRdc0.519MPa168.0%>1 : armcas 1, 2, 3 ou 4d0.225mhauteur utile moyennercont1.96112m40-1.097802r0.145%% moyen d'armature passivehH0m41-0.5125024984-0.108731108scp0.000MPacontrainte moyenne de compressionAyant pris un cercle comme primtre de uout au lieu42-0.642694174-0.16265901950,4 d0.090md'un polygne, ce primtre a t surestim de 0,41 %1.543-0.7728871198-0.2165866379Sans chapiteau, avec armatures0,5 d0.113mpoteauaire chargeaxes44-0.9030813134-0.2705144644Asw/sr52.85cm2/msection d'armature de poinonnement0,75 d0.169m-0.40.1545-1.03327-0.3244425266uout8.448mprimtre du contour de contrle1,5 d0.338m-0.4-0.1546-0.479549607-0.2295499673naturepinglearmatures de poinonnement2 d0.450m0.4-0.1547-0.5720365646-0.3220352629HA8mmdiamtre0.40.1548-0.6645224742-0.4145215178nr5nombre de cercles-0.40.1549-0.7570080016-0.5070068345ns16nombre de rayonsPositionnement des armatures en pingle HA850-0.8494949752-0.5994916311sr0.146mmespacement des cerclesRayonAngleEspacementDistance au poteauPour viter d'avoir des armatures de poinonnement, on peut-4451-0.3587315253-0.2625002625angle22.50angle des rayonsNdegrsconstant srdu 1er coursdisposer d'un chapiteau de 1,87 m x 1,37 m hors tout4452-0.4126604217-0.392694315nbre80nombre d'pinglesmmmm/dde 0,535 m de dbord sur chacun des 4 cts53-0.4665876578-0.5228867532Lep0.4020003538mlongueur dveloppe des pingles001413631.61 det de 0,115 m de retombe (soit une hauteur totale de 0,365 m)-4-454-0.5205161438-0.6530825496Poids12.6898kgpoids des pingles122.51313391.51 d04-455-0.5744452295-0.78327550152451412371.05 d56-0.25-0.2625002625367.51461510.67 d4457-0.25-0.40882740124901412371.05 dOn vrifie visuellement que pour les cours l'intrieur du contour4-458-0.25-0.55515461065112.51313391.51 dde rfrence u1 (voir dessin en-dessous droite) on a bien59-0.25-0.701483637961351413631.61 dun espacement st 1,5d. Cette vrifation est faite-4460-0.25-0.84780968377157.51463631.61 dautomatiquement en page 1 : st,max-4-4610.3587315253-0.262500262581801413631.61 d620.4126604217-0.3926943159202.51313391.51 dCoursst,maxst,max/d-128630.4665876578-0.5228867532102251412371.05 dNmm128640.5205161438-0.653082549611247.51461510.67 d16092.71 d650.5744452295-0.7832755015122701412371.05 d26632.95 d-12-8660.479549607-0.2295499673poteau013292.51313391.51 d37173.19 d12-8670.5720365646-0.32203526290.40.15143151413631.61 d47723.43 d680.6645224742-0.41452151780.4-0.1515337.51463631.61 d58273.68 d812690.7570080016-0.5070068345-0.4-0.1500000.00 d000.00 d8-12700.8494949752-0.5994916311-0.40.1500000.00 d000.00 d710.5125024984-0.1087311080.40.1500000.00 d0000.00 d-812720.642694174-0.162659019500000.00 d0000.00 d-8-12730.7728871198-0.21658663790.40.1500000.00 d0000.00 d740.9030813134-0.27051446440.4-0.1500000.00 d0000.00 d751.03327-0.3244425266-0.4-0.1500000.00 d0000.00 d760.51250249840-0.40.1500000.00 d0000.00 d770.658830970300.40.1500000.00 d0000.00 d780.8051594618000000.00 d0000.00 d790.951483839000000.00 d0000.00 d801.0978000000.00 d000.00 d81-0.250.262500262500000.00 d000.00 d820.25-0.262500262500000.00 d000.00 d83-0.250.408827401200000.00 d000.00 d840.25-0.408827401200000.00 d000.00 d85-0.250.555154610600000.00 d000.00 d860.25-0.555154610600000.00 d000.00 d87-0.250.701483637900000.00 d000.00 d880.25-0.701483637900000.00 d000.00 d89-0.250.847809683700000.00 d900.25-0.847809683700000.00 d9100.262500262500000.00 d920-0.262500262500000.00 d9300.408827401200000.00 d940-0.408827401200000.00 d9500.555154610600000.00 d960-0.555154610600000.00 d9700.701483637900000.00 d980-0.701483637900000.00 d9900.847809683700000.00 d1000-0.847809683700000.00 d1010-0.847809683700000.00 d1020-0.847809683700000.00 d1030-0.847809683700000.00 d1040-0.84780968371050-0.84780968371060-0.84780968371070-0.84780968371080-0.84780968371090-0.84780968371100-0.84780968371110-0.84780968371120-0.84780968371130-0.84780968371140-0.84780968371150-0.84780968371160-0.84780968371170-0.84780968371180-0.84780968371190-0.84780968371200-0.84780968371210-0.84780968371220-0.84780968371230-0.84780968371240-0.84780968371250-0.84780968371260-0.84780968371270-0.84780968371280-0.84780968371290-0.84780968371300-0.84780968371310-0.84780968371320-0.84780968371330-0.84780968371340-0.84780968371350-0.84780968371360-0.84780968371370-0.84780968371380-0.84780968371390-0.84780968371400-0.84780968371410-0.84780968371420-0.84780968371430-0.84780968371440-0.84780968371450-0.84780968371460-0.84780968371470-0.84780968371480-0.84780968371490-0.84780968371500-0.84780968371510-0.84780968371520-0.84780968371530-0.84780968371540-0.84780968371550-0.84780968371560-0.84780968371570-0.84780968371580-0.84780968371590-0.84780968371600-0.84780968371610-0.84780968371620-0.84780968371630-0.84780968371640-0.84780968371650-0.84780968371660-0.84780968371670-0.84780968371680-0.84780968371690-0.84780968371700-0.84780968371710-0.84780968371720-0.84780968371730-0.84780968371740-0.84780968371750-0.84780968371760-0.84780968371770-0.84780968371780-0.84780968371790-0.84780968371800-0.84780968371810-0.84780968371820-0.84780968371830-0.84780968371840-0.84780968371850-0.84780968371860-0.84780968371870-0.84780968371880-0.84780968371890-0.84780968371900-0.84780968371910-0.84780968371920-0.84780968371930-0.84780968371940-0.84780968371950-0.84780968371960-0.84780968371970-0.84780968371980-0.84780968371990-0.84780968372000-0.84780968372010-0.84780968372020-0.84780968372030-0.84780968372040-0.84780968372050-0.84780968372060-0.84780968372070-0.84780968372080-0.84780968372090-0.84780968372100-0.84780968372110-0.84780968372120-0.84780968372130-0.84780968372140-0.84780968372150-0.84780968372160-0.84780968372170-0.84780968372180-0.84780968372190-0.84780968372200-0.84780968372210-0.84780968372220-0.84780968372230-0.84780968372240-0.84780968372250-0.84780968372260-0.84780968372270-0.84780968372280-0.84780968372290-0.84780968372300-0.84780968372310-0.84780968372320-0.84780968372330-0.84780968372340-0.84780968372350-0.84780968372360-0.84780968372370-0.84780968372380-0.84780968372390-0.84780968372400-0.84780968372410-0.84780968372420-0.84780968372430-0.84780968372440-0.84780968372450-0.84780968372460-0.84780968372470-0.84780968372480-0.84780968372490-0.84780968372500-0.84780968372510-0.84780968372520-0.84780968372530-0.84780968372540-0.84780968372550-0.84780968372560-0.84780968372570-0.84780968372580-0.84780968372590-0.84780968372600-0.84780968372610-0.84780968372620-0.84780968372630-0.84780968372640-0.84780968372650-0.84780968372660-0.84780968372670-0.84780968372680-0.84780968372690-0.84780968372700-0.84780968372710-0.84780968372720-0.84780968372730-0.84780968372740-0.84780968372750-0.84780968372760-0.84780968372770-0.84780968372780-0.84780968372790-0.84780968372800-0.84780968372810-0.84780968372820-0.84780968372830-0.84780968372840-0.84780968372850-0.84780968372860-0.84780968372870-0.84780968372880-0.84780968372890-0.84780968372900-0.84780968372910-0.84780968372920-0.84780968372930-0.84780968372940-0.84780968372950-0.84780968372960-0.84780968372970-0.84780968372980-0.84780968372990-0.84780968373000-0.84780968373010-0.84780968373020-0.84780968373030-0.84780968373040-0.84780968373050-0.84780968373060-0.84780968373070-0.84780968373080-0.84780968373090-0.84780968373100-0.84780968373110-0.84780968373120-0.84780968373130-0.84780968373140-0.84780968373150-0.84780968373160-0.84780968373170-0.84780968373180-0.84780968373190-0.84780968373200-0.84780968373210-0.84780968373220-0.84780968373230-0.84780968373240-0.84780968373250-0.84780968373260-0.84780968373270-0.84780968373280-0.84780968373290-0.84780968373300-0.84780968373310-0.84780968373320-0.84780968373330-0.84780968373340-0.84780968373350-0.84780968373360-0.84780968373370-0.84780968373380-0.84780968373390-0.84780968373400-0.84780968373410-0.84780968373420-0.84780968373430-0.84780968373440-0.84780968373450-0.84780968373460-0.84780968373470-0.84780968373480-0.84780968373490-0.84780968373500-0.84780968373510-0.84780968373520-0.84780968373530-0.84780968373540-0.84780968373550-0.84780968373560-0.84780968373570-0.84780968373580-0.84780968373590-0.84780968373600-0.84780968373610-0.84780968373620-0.84780968373630-0.84780968373640-0.84780968373650-0.84780968373660-0.84780968373670-0.84780968373680-0.84780968373690-0.84780968373700-0.84780968373710-0.84780968373720-0.84780968373730-0.84780968373740-0.84780968373750-0.84780968373760-0.84780968373770-0.84780968373780-0.84780968373790-0.84780968373800-0.84780968373810-0.84780968373820-0.84780968373830-0.84780968373840-0.84780968373850-0.84780968373860-0.84780968373870-0.84780968373880-0.84780968373890-0.84780968373900-0.84780968373910-0.84780968373920-0.84780968373930-0.84780968373940-0.84780968373950-0.84780968373960-0.84780968373970-0.84780968373980-0.84780968373990-0.84780968374000-0.84780968374010-0.84780968374020-0.84780968374030-0.84780968374040-0.84780968374050-0.84780968374060-0.84780968374070-0.84780968374080-0.84780968374090-0.84780968374100-0.84780968374110-0.84780968374120-0.84780968374130-0.84780968374140-0.84780968374150-0.84780968374160-0.84780968374170-0.84780968374180-0.84780968374190-0.84780968374200-0.84780968374210-0.84780968374220-0.84780968374230-0.84780968374240-0.84780968374250-0.84780968374260-0.84780968374270-0.84780968374280-0.84780968374290-0.84780968374300-0.84780968374310-0.84780968374320-0.84780968374330-0.84780968374340-0.84780968374350-0.84780968374360-0.84780968374370-0.84780968374380-0.84780968374390-0.84780968374400-0.84780968374410-0.84780968374420-0.84780968374430-0.84780968374440-0.84780968374450-0.84780968374460-0.84780968374470-0.84780968374480-0.84780968374490-0.84780968374500-0.84780968374510-0.84780968374520-0.84780968374530-0.84780968374540-0.84780968374550-0.84780968374560-0.84780968374570-0.84780968374580-0.84780968374590-0.84780968374600-0.84780968374610-0.84780968374620-0.84780968374630-0.84780968374640-0.84780968374650-0.84780968374660-0.84780968374670-0.84780968374680-0.84780968374690-0.84780968374700-0.84780968374710-0.84780968374720-0.84780968374730-0.84780968374740-0.84780968374750-0.84780968374760-0.84780968374770-0.84780968374780-0.84780968374790-0.84780968374800-0.84780968374810-0.84780968374820-0.84780968374830-0.84780968374840-0.84780968374850-0.84780968374860-0.84780968374870-0.84780968374880-0.84780968374890-0.84780968374900-0.84780968374910-0.84780968374920-0.84780968374930-0.84780968374940-0.84780968374950-0.84780968374960-0.84780968374970-0.84780968374980-0.84780968374990-0.84780968375000-0.84780968375010-0.84780968375020-0.84780968375030-0.84780968375040-0.84780968375050-0.84780968375060-0.84780968375070-0.84780968375080-0.84780968375090-0.84780968375100-0.84780968375110-0.84780968375120-0.84780968375130-0.84780968375140-0.84780968375150-0.84780968375160-0.84780968375170-0.84780968375180-0.84780968375190-0.84780968375200-0.84780968375210-0.84780968375220-0.84780968375230-0.84780968375240-0.84780968375250-0.84780968375260-0.84780968375270-0.84780968375280-0.84780968370.55290-0.8478096837205300-0.8478096837rayons10.31929096490.02870125741.34508182880.453597745420.30303300860.05303300861.0881393460.83813934630.27870125740.06929096490.70359774541.095081828840.250.0750.251.18530803025-0.27870125740.0692909649-0.70359774541.09508182886-0.30303300860.0530330086-1.0881393460.8381393467-0.31929096490.0287012574-1.34508182880.45359774548-0.3259.18454765366783E-18-1.43530803021.45153574505184E-169-0.3192909649-0.0287012574-1.3450818288-0.453597745410-0.3030330086-0.0530330086-1.088139346-0.83813934611-0.2787012574-0.0692909649-0.7035977454-1.095081828812-0.25-0.075-0.25-1.1853080302130.2787012574-0.06929096490.7035977454-1.0950818288140.3030330086-0.05303300861.088139346-0.838139346150.3192909649-0.02870125741.3450818288-0.4535977454160.325-1.83690953073357E-171.4353080302-2.90307149010368E-1617-0.250.075-0.251.1853080302180.25-0.0750.25-1.18530803021900.07501.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302200-0.0750-1.1853080302chapiteau0000000000181.4353080302-2.90307149010368E-1611.34508182880.453597745421.0881393460.83813934630.70359774541.095081828840.251.18530803025-0.251.18530803026-0.70359774541.09508182887-1.0881393460.8381393468-1.34508182880.45359774549-1.43530803021.45153574505184E-1610-1.3450818288-0.453597745411-1.088139346-0.83813934612-0.7035977454-1.095081828813-0.25-1.1853080302140.25-1.1853080302150.7035977454-1.0950818288161.088139346-0.838139346171.3450818288-0.4535977454181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-16181.4353080302-2.90307149010368E-160.40.6-0.40.6-0.850.15-0.85-0.1500-0.4-0.600.4-0.6000.850.150.85-0.15000.850.1510.15707963270.84445975330.220395509320.31415926540.82797543230.289057647530.4712388980.80095293590.354295724940.62831853070.76405764750.414503363550.78539816340.71819805150.468198051560.94247779610.66450336350.514057647571.09955742880.60429572490.550952935981.25663706140.53905764750.577975432391.41371669410.47039550930.5944597533101.57079632680.40.600.85-0.1510.8444597533-0.220395509320.8279754323-0.289057647530.8009529359-0.354295724940.7640576475-0.414503363550.7181980515-0.468198051560.6645033635-0.514057647570.6042957249-0.550952935980.5390576475-0.577975432390.4703955093-0.5944597533100.4-0.60-0.85-0.151-0.8444597533-0.22039550932-0.8279754323-0.28905764753-0.8009529359-0.35429572494-0.7640576475-0.41450336355-0.7181980515-0.46819805156-0.6645033635-0.51405764757-0.6042957249-0.55095293598-0.5390576475-0.57797543239-0.4703955093-0.594459753310-0.4-0.60-0.850.151-0.84445975330.22039550932-0.82797543230.28905764753-0.80095293590.35429572494-0.76405764750.41450336355-0.71819805150.46819805156-0.66450336350.51405764757-0.60429572490.55095293598-0.53905764750.57797543239-0.47039550930.594459753310-0.40.6

Feuil10.1250.125-0.125-0.125-0.125-0.125-0.125-0.125-0.125-0.9-0.125-0.9

pas de chapiteau obligatoire

nombre maximal autoris de brins : 1 pour pingles ou 2 pour trierscoefficient b pour une charge excentre, voir Fig. 6,21N de l'EC2 par exempleNombre de traves paralllle OxNombre de traves parallles OyN de ligne horizontale en partant du hautN de colonne verticale en partant de la gauchearmatures parallles Oxarmatures parallles Oycoefficient b pour une charge excentre, voir Fig. 6,21N de l'EC2 par exempleportes entre axes gauche de l'appui tudiportes entre axes au dessus de l'appui tudiportes entre axes droite de l'appui tudiporte entre axes au dessous de l'appui tudiLa continuit est prise en compte automatiquement pour les poteaux voisins de l'appui de riveEn gnral, on prend 0,05On peut prendre moins si le rayon de courbure reste > 1 meffort de poinonnement sans prise en compte du relevage des cblespoteauSans armatures de poinonnement0.40.40.40.4-0.4-0.4-0.4-0.40.40.40.40.40.40.4-0.4-0.4-0.4-0.40.40.40.15-0.15-0.150.150.150.15-0.15-0.150.150.15section d'armatures longitudinales prise sur une largeur c1+6dsection d'armatures longitudinales prise sur une largeur c2+6dCe coefficient sera appliqu pour un appui voisin de rive dans les deux directions. Pour les autres appuis voisins de rive, la majoration est module en fonction des portes relativesEffort de poinonnement tenant compte de la composante verticale des cbles situs dans la largeur du poteau et 0,5 d de part et d'autreLes Recommandations Professionnelles propose un coefficient 1,10 pour une poutre continue d'au moins 3 travesn de l'appui en partant de la gauche de 2 NTiNumro de l'appui en partant du hautde 2 NTj= Nti= NTjcompris entre 0,3d et 0,5d a Then GoTo 10 r1 = r Next i10 bor1 = r1: bor2 = rNext kZr = r99 End FunctionFunction Zdel(c1, c2, d, bVd, Asx, Asy, fck, gc)Pi = 4 * Atn(1)vRdc = fvRdc2(Asx, Asy, d, fck, gc)a = bVd / 2 / Pi / d / vRdcn = 20del1 = 0bor1 = 0: bor2 = 5For k = 1 To 5 For i = 0 To n del = bor1 + (bor2 - bor1) * i / n rcont = frcont(c1, c2, d, del) b = rcont If b > a Then GoTo 10 del1 = del Next i10 bor1 = del1: bor2 = delNext kZdel = del99 End FunctionFunction fvRdc2(Asx, Asy, d, fck, gc)k = 1 + Sqr(0.2 / d)If k > 2 Then k = 2rh = Sqr(Asx * Asy) / d / 10000u1 = 0.18 / gc * k * (100 * rh * fck) ^ (1 / 3)U2 = 0.035 * k ^ 1.5 * Sqr(fck)If U2 > u1 Then u1 = U2fvRdc2 = u199 End FunctionFunction fvRdc(fck, gc, Asx, Asy, dx, dy, scp)d = 0.5 * (dx + dy)rho = Sqr(Asx / dx * Asy / dy) / 10000CRdc = 0.18: k1 = 0.1k = 1 + Sqr(0.2 / d) ' d en mIf k > 2 Then k = 2vmin = 0.035 * k ^ 1.5 * Sqr(fck)vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3)If vmin > vRdc Then vRdc = vminvRdc = vRdc + k1 * scpfvRdc = vRdc99 End FunctionFunction frcont(c1, c2, d, del)u1 = 0.56 * Sqr((c1 + 2 * del) * (c2 + 2 * del))U2 = 0.69 * (c2 + 2 * del)If U2 < u1 Then u1 = U2frcont = u1 + 2 * d99 End FunctionFunction chap4(fck, gc, GVEd, c1, c2, d, Asx, Asy, dx, dy, scp)' pas d'armatures si chapiteau LH = 2dHDim T(10)Pi = 4 * Atn(1)hH0 = 0' u1 = 2 * c1 + 2 * c2 + 4 * Pi() * d' vEd = GVEd / d / u1' vRdc = fvRdc(fck, gc, Asx, Asy, dx, dy, scp)

For itour = 1 To 2If itour = 1 Then nd = 100 Else nd = 1000 For i = 1 To 210 hH = hH0 + i / nd dH = d + hH LH = 2 * hH L1 = c1 + 2 * LH: L2 = c2 + 2 * LH rcont = 0.56 * Sqr(L1 * L2) Z1 = L1 If Z1 > L2 Then Z1 = L2 If rcont > 0.69 * Z1 Then rcont = 0.69 * Z1 rcont = rcont + 2 * d ucont = 2 * Pi * rcont vEd = GVEd / (d * ucont) dxH = dx + hH: dyH = dy + hH scpH = scp * d / (d + hH) vRdc = fvRdc(fck, gc, Asx, Asy, dxH, dyH, scpH) If vEd < vRdc Then hH0 = hH - 0.01: GoTo 22 Next i22 Next itour

T(1) = hH: T(2) = vRdc: T(3) = rcont: T(4) = ucontT(5) = Int(L1 * 1000 + 0.2) / 1000: T(6) = Int(L2 * 1000 + 0.2) / 1000chap4 = macd(T, 7)

99 End FunctionFunction chap3(GVEd, c1, c2, d, vRdmax, code)' chapiteau obligatoireu0 = 2 * c1 + 2 * c2dH = GVEd / (u0 * vRdmax)LH = (GVEd / (d * vRdmax) - u0) / 8 + 0.0099LH = Int(LH * 100) / 100hH = dH - d + 0.0099hH = Int(100 * hH) / 100If code = 1 Then chap3 = hH Else chap3 = LHEnd FunctionFunction chapH2(GVEd, c1, c2, d, h, rho, scp, fck)' chapiteau de dbord = 2 hH et hH tel que dalle non armPi = 4 * Atn(1)For i = 1 To 200hH = i * 0.01dH = d + hHu1 = 2 * c1 + 2 * c2 + 4 * Pi * d + 8 * hHk = 1 + Sqr(0.2 / d)If kH > 2 Then kH = 2vRd = 0.12 * k * (100 * rho * fck) ^ (1 / 3)vmin = 0.035 * k ^ 1.5 * Sqr(fck)If vRd < vmin Then vRd = vminvRd = vRd + 0.1 * scpvEd = GVEd / u1 / dU6 = vEd / vRd - 1If vEd < vRd Then hH = U4 + (hH - U4) * U5 / (U5 - U6): GoTo 22U3 = vEd: U4 = hH: U5 = vEd / vRd - 1Next i22 chapH2 = hH99 End FunctionFunction chapHh(GVEd, c1, c2, d, h, rho, scp, fck)' chapiteau de hauteur hH tel que chapiteau non armPi = 4 * Atn(1)For i = 1 To 200hH = i * 0.01dH = d + hHu1H = 2 * c1 + 2 * c2 + 4 * Pi * dHkH = 1 + Sqr(0.2 / dH)If kH > 2 Then kH = 2rhoH = rho * d / dHscpH = scp * h / (h + hH)vRd = 0.12 * kH * (100 * rhoH * fck) ^ (1 / 3)vmin = 0.035 * kH ^ 1.5 * Sqr(fck)If vRd < vmin Then vRd = vminvRd = vRd + 0.1 * scpHvEdH = GVEd / u1H / dHchapHh = vEdH / vRd: GoTo 99U6 = vEdH / vRd - 1If vEdH < vRd Then hH = U4 + (hH - U4) * U5 / (U5 - U6): GoTo 22U3 = vEdH: U4 = hH: U5 = vEdH / vRd - 1Next i22 chapHh = hH99 End FunctionFunction chap(da, u0, ha, fck, rhoa, GVEd, Pi, CRdc, gc, scp0)d = da: h = ha For i = 1 To 10 scp = scp0 * ha / h rho = rhoa * da / d k = 1 + Sqr(0.2 / d) If k > 2 Then k = 2 vmin = 0.035 * k ^ 1.5 * Sqr(fck) + 0.1 * scp vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3) + 0.1 * scp If vRdc < vmin Then vRdc = vmin u = u0 + 4 * Pi * d d = GVEd / u / vRdc h = ha - da + d Next ichap = hEnd FunctionFunction Poinc3(da, b, uoutef, d, rect1, code)' coordonnes des triers en x et y' rect1=1 : poteau pseudo-carr, rect1=2 : poteau rectangulaire prononc' a et b = cts du rectangle (si rect >= 0) avec a >=b' r1 = 0.5 d et r2 = rout - 1.5 d' maxi 58 rayons et 25 cerces mais n*nc 3 / 4 * n Then x = x + dab / 2 Else x = x - dab / 2 jj = jj + 1 If code = 1 Then T(jj) = x Else T(jj) = y Tabx(k, j) = x: Taby(k, j) = y Next jNext kUMR2 = 0If rect1 < 2 Then n0 = 1: n1 = n - 1: GoTo 42nd = Int(dab / 1.5 / d) + 1 ' cas section rectangulaire prononcen0 = n / 4 + 1: n1 = n / 2u1 = dab / ndIf u1 > UMR2 Then UMR2 = u1 ' espace entre // Oy pour poteau large For k = 1 To nd ' rayons verticaux For j = 1 To nc ' pour chaque cours priphrique x = -dab / 2 + (k - 1) * dab / nd i = n / 4 ' 90 y = Taby(i, j) jj = jj + 1 If code = 1 Then T(jj) = x Else T(jj) = y Tabx(n + k, j) = x: Taby(n + k, j) = y x = dab / 2 - (k - 1) * dab / nd jj = jj + 1 If code = 1 Then T(jj) = x Else T(jj) = -y Tabx(n + k + nd, j) = x: Taby(n + k + nd, j) = -y Next j Next k42 s = (rout - b / 2 - 0.5 * d) / (nc - 1) 'espacement maxi entre cours (suivant Oy)i = Int((2 * d - 0.5 * d) / s) + 1 ' n du cours l'intrieur du contour de rfrence u1 For k = n0 To n1 th = k / n * 2 * Pi x0 = courspo(a, b, r1, th, 1): y0 = courspo(a, b, r1, th, 2) xlast = rout * Cos(th): ylast = rout * Sin(th) x1 = x0 + (xlast - x0) * (i - 1) / (nc - 1) y1 = y0 + (ylast - y0) * (i - 1) / (nc - 1) th = (k + 1) / n * 2 * Pi x0 = courspo(a, b, r1, th, 1): y0 = courspo(a, b, r1, th, 2) xlast = rout * Cos(th): ylast = rout * Sin(th) x2 = x0 + (xlast - x0) * (i - 1) / (nc - 1) y2 = y0 + (ylast - y0) * (i - 1) / (nc - 1) u1 = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) If u1 > UMR2 Then UMR2 = u1 Next kkomp = komp + 1If rect1 = 1 And UMR2 > 1.5 * d And komp < 5 Then n = n + 1: jj = 0: GoTo 86If rect1 = 2 And UMR2 > 1.5 * d And komp < 5 Then n = n + 4: jj = 0: GoTo 86For j = jj To 530: T(j) = T(jj): Next j For k = 1 To n ' distance sr du rayon i (constant par rayon) x1 = Tabx(k, 1): y1 = Taby(k, 1) x2 = Tabx(k, nc): y2 = Taby(k, nc) u1 = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) / (nc - 1)'If k = 5 Then Poinc3 = uout: GoTo 99

T(530 + k) = u1 Next kT(591) = kompT(592) = nc: T(593) = n: T(594) = jjT(597) = UMA: T(596) = UMIT(599) = UMC: T(600) = UMR: T(598) = UMR2 For i = 1 To n ' distance du premier acier au poteau x = Abs(Tabx(i, 1)): y = Abs(Taby(i, 1)) If x b / 2 Then dt = y - b / 2: GoTo 12 If y a / 2 Then dt = x - a / 2: GoTo 12 dt = Sqr((x - a / 2) ^ 2 + (y - b / 2) ^ 2)12 jj = 600 + i T(jj) = dt Next i

' espacement maxi sur le cours jFor j = 1 To nc 'pour chaque coursmesp = 0 For i = 2 To n 'pour chaque rayon esp = Sqr((Tabx(i, j) - Tabx(i - 1, j)) ^ 2 + (Taby(i, j) - Taby(i - 1, j)) ^ 2) If esp > mesp Then mesp = esp Next iT(660 + j) = mespNext j

98 Poinc3 = macd(T, 700)'Poinc3 = n

99 End FunctionFunction phiphi(a, b, r, th, th0, th1, code)' coordonnes cartsiennes pour 0 < th < Pi / 2Pi = 4 * Atn(1)Ra = a / 2: Rb = b / 2tgi = Tan(th)If th < th0 Then x = Ra + r: y = x * tgi: GoTo 10If th > th1 Then y = Rb + r: x = y / tgi: GoTo 10GA = 1 + tgi * tgiGB = -(a + b * tgi)gc = Ra * Ra + Rb * Rb - r * rdel = GB * GB - 4 * GA * gcx = (Sqr(del) - GB) / 2 / GAy = x * tgi10 If code = 1 Then phiphi = x Else phiphi = y99 End FunctionFunction courspo(a, b, r, th, code)' coordonnes d'un point situ sur un profil parallle aux nus du poteau une distance r du nuPi = 4 * Atn(1)Ra = a / 2: Rb = b / 2 th0 = Atn((Rb) / (Ra + r)): th1 = Atn((Rb + r) / (Ra)) ' rectangle If th = 0 Or th = 2 * Pi Then x = Ra + r: y = 0: GoTo 11 If th = Pi / 2 Then x = 0: y = Rb + r: GoTo 11 If th = Pi Then x = -Ra - r: y = 0: GoTo 11 If th = 1.5 * Pi Then x = 0: y = -Rb - r: GoTo 11 If th < Pi / 2 Then tha = th: x = phiphi(a, b, r, tha, th0, th1, 1): y = phiphi(a, b, r, tha, th0, th1, 2): GoTo 11 If th < Pi Then tha = Pi - th: x = -phiphi(a, b, r, tha, th0, th1, 1): y = phiphi(a, b, r, tha, th0, th1, 2): GoTo 11 If th < 1.5 * Pi Then tha = th - Pi: x = -phiphi(a, b, r, tha, th0, th1, 1): y = -phiphi(a, b, r, tha, th0, th1, 2): GoTo 11 tha = 2 * Pi - th: x = phiphi(a, b, r, tha, th0, th1, 1): y = -phiphi(a, b, r, tha, th0, th1, 2): GoTo 1111 If code = 1 Then courspo = x Else courspo = yEnd FunctionFunction recta(c1, c2, GVEd, fck, gc, fyk, gs, coef5, Asx, Asy, dx, dy, scp)Dim T(25) 'poteau rectangulaire sans chapiteauPi = 4 * Atn(1)Asws = 0d = 0.5 * (dx + dy)sr = 0: st = 0: Asws = 0: phi = 0CRdc = 0.18: k1 = 0.1fyd = fyk / gsu0 = 2 * (c1 + c2)33 vRdmax = coef5 * 0.6 * (1 - fck / 250) * fck / gc 'coef5 = 0,4 au lieu de 0,5 d'aprs Corrigendum N 2vEd0 = GVEd / u0 / dvRdc = fvRdc(fck, gc, Asx, Asy, dx, dy, scp)

'k = 1 + Sqr(0.2 / d) ' d en m'If k > 2 Then k = 2'vmin = 0.035 * k ^ 1.5 * Sqr(fck)'vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3)'If vmin > vRdc Then vRdc = vmin'vRdc = vRdc + k1 * scp

u1 = 2 * (c1 + c2) + 2 * Pi * (2 * d)34 vEd = GVEd / u1 / dIf vEd < vRdc Then GoTo 98fywd = 250 * (1 + d)If fywd > fyd Then fywd = fydAsws = (vEd - 0.75 * vRdc) * u1 / 1.5 / fywd ' = (nt*As0)/sruout = GVEd / vRdc / d ' contour extrieur sans acierrout = (uout / 2 / Pi) - 1.5 * d

98 T(1) = u0: T(2) = vEd0: T(3) = vRdmaxT(4) = u1: T(5) = vEd: T(6) = vRdcT(7) = fywd: T(8) = Asws ': T(9) = nt: T(10) = nrT(20) = rout'T(11) = sr: T(12) = st: T(13) = phi:T(9) = uout'T(15) = Angle:'T(16) = uoutred': T(17) = Asw1'T(18) = Asw1: T(19) = nbrin: T(20) = routrecta = macd(T, 20)99 End FunctionFunction rectb(Asws, listac, sr, st, nt, nbrinmax, fck, fyk)'armaturesDim T(10)Pi = 4 * Atn(1)Asw1 = Asws * sr / nt / 10000 ' aire d'un trier ou pingle ou cadre For i = 1 To 14 If Asw1 > listac(i, 3) / 10000 Then GoTo 131 phi = listac(i, 2): nbrin = listac(i, 1) Aswmin = 0.08 * nbrin * Sqr(fck) / fyk * st * sr / 1.5 ' % mini If nbrin > nbrinmax Then GoTo 131 If Asws1 < Aswmin Then Asws1 = Aswmin GoTo 139131 Next iphi = Sqr(4 * Asw1 / nbrinmax / Pi) * 1000: nbrin = nbrinmax139 'Asw1 = Asws / nbrin / nt ' acier d'un brin98 T(1) = phi: T(2) = nbrin: T(3) = Aswmin: T(4) = Asw1: T(5) = Pi * (phi / 10) ^ 2 / 4 * nbrinrectb = macd(T, 10)99 End FunctionFunction rayx(k, n, a, b, rect1, uoutef, d, code)' coordonnes des rayonsIf uoutef = 0 Then rayx = 0: GoTo 99Pi = 4 * Atn(1)a0 = b / 4

If rect1 > 1 Then GoTo 48th = k / n * 2 * Pi ' poteau pseudo-carrrout = uoutef / 2 / Pix1 = a0 * Cos(th): y1 = a0 * Sin(th)x2 = rout * Cos(th): y2 = rout * Sin(th)GoTo 41

48 dab = a - b 'poteau rectangulaire prononcncs = Int(dab / 1.5 / d)rout = (uoutef - 2 * dab) / 2 / PiIf k > n Then GoTo 38th = k / n * 2 * Picoef = 1If k > n / 4 And k < 3 / 4 * n + 1 Then coef = -1x1 = dab / 2 * coef + a0 * Cos(th): y1 = a0 * Sin(th)x2 = dab / 2 * coef + rout * Cos(th): y2 = rout * Sin(th)GoTo 41

38 If k = n + 1 Then x1 = -dab / 2: x2 = x1: y1 = a0: y2 = rout: GoTo 41If k = n + 2 Then x1 = dab / 2: x2 = x1: y1 = -a0: y2 = -rout: GoTo 41

If k > n + 2 + ncs Then GoTo 39 ' rayons verticaux intermdiairesi = k - n - 2x1 = -dab / 2 + dab * i / (ncs + 1): x2 = x1y1 = a0: y2 = routGoTo 4139 i = k - n - ncs - 2x1 = -dab / 2 + dab * i / (ncs + 1): x2 = x1y1 = -a0: y2 = -rout

41 If code = 1 Then rayx = x1If code = 2 Then rayx = y1If code = 3 Then rayx = x2If code = 4 Then rayx = y2

99 End FunctionFunction extu(k, n, a, b, rect1, uoutef, code)' coordonnes des points de uout,efPi = 4 * Atn(1)If uoutef = 0 Then extu = 0: GoTo 99

If rect1 = 2 Then dab = a - b Else dab = 0

uout = (uoutef - 2 * dab) / 2 / PiIf rect1 < 2 Then GoTo 20

If k > n / 4 Then GoTo 21th = k / n * 2 * Pix = dab / 2 + uout * Cos(th): y = uout * Sin(th)GoTo 4121 If k = n / 4 + 1 Then x = -dab / 2: y = uout: GoTo 41If k > 3 / 4 * n + 1 Then GoTo 22th = (k - 1) / n * 2 * Pix = -dab / 2 + uout * Cos(th): y = uout * Sin(th)GoTo 4122 If k = 3 / 4 * n + 2 Then x = dab / 2: y = -uout: GoTo 41th = (k - 2) / n * 2 * Pix = dab / 2 + uout * Cos(th): y = uout * Sin(th)GoTo 4120 th = k / n * 2 * Pi ' poteau carrx = uout * Cos(th): y = uout * Sin(th)41 If code = 1 Then extu = x Else extu = y

99 End FunctionFunction dess(nr, nt, sr, c1, c2, d, code)Dim T(600)k = 0c = Sqr(c1 * c2)Pi = 4 * Atn(1) For i = 1 To nr For j = 1 To nt k = k + 1 r = c / 2 + 0.5 * d + (i - 1) * sr q = j / nt * Pi * 2 x = r * Cos(q): y = r * Sin(q) If code = 1 Then T(k) = x Else T(k) = y Next j Next iFor i = k To 600: T(i) = T(k): Next idess = macd(T, 600)99 End FunctionFunction Vau11(Lx1, Lx2, Ly1, Ly2, mu, bet1, bet2, bet3, p)' en angle pour i=1 et j=1 (A)Vau11 = p * bet3 * (Lx1 + Lx2 / 2) * (Ly1 + Ly2 / 2)End FunctionFunction Vau21(Lx1, Lx2, Ly1, Ly2, mu, bet1, bet2, bet3, p)' en rive avec continuit i=2 et j=1 (B)If Lx2 > Ly1 Then GoTo 10Vau21 = p * bet2 * ((Ly1 + Ly2) / 2 * Lx1 * mu + (1 - mu) * Lx2 ^ 2 / 4 + mu * (Ly1 + Ly2) * Lx2 / 4)GoTo 9910 Vau21 = p * bet2 * ((Ly1 + Ly2) / 2 * Lx1 * mu + (mu - 1) * (Ly1 + Ly2) ^ 2 / 16 + (Ly1 + Ly2) * Lx2 / 4)99 End FunctionFunction Vau31(Lx1, Lx2, Ly1, Ly2, mu, bet1, bet2, bet3, p)' rive courante avec j=1 et 2 kd * d Then GoTo 12 x1a = x1: y1a = y1: z1a = Z1: x2a = x2: y2a = y2: z2a = z2: Ra = r Next j12 kR = (kd * d - Ra) / (r - Ra)x1 = x1a + (x1 - x1a) * kRx2 = x2a + (x2 - x2a) * kRy1 = y1a + (y1 - y1a) * kRy2 = y2a + (y2 - y2a) * kRZ1 = z1a + (Z1 - z1a) * kRz2 = z2a + (z2 - z2a) * kRzp1 = parab(x1, typ, la, c1, c2, du, L, h, 2)alp = Atn(zp1)If jj = 0 Then alp = 0If code = 1 Then RechVred = Abs(Sin(alp))If code = 2 Then RechVred = y1If code = 3 Then RechVred = x1If code = 4 Then RechVred = Z1If code = 5 Then RechVred = zp1If code = 6 Then RechVred = jj99 End FunctionFunction FVred2(F, a, s, la, h, c1, c2, du, L, kd, typ, kV, code)' effort de poinonnement relev par les cbles traversant le cne de poinonnement' en MN pour un effort de traction F dans un cble pour un ct (1 quadrant)' pour l'effort tranchant = sin(alpha)' d = h - c2n = Int((a / 2 + kd * du) / s + 0.5) ' nombre de cbles'If kV = 1 Then N = 1 pour eff tru1 = 0: ii = 0 For i = 1 To n u0 = RechVred(a, s, i, la, h, c1, c2, du, L, kd, typ, kV, 1) If u0 > 0 Then ii = ii + 1 u1 = u1 + u0 Next iIf code = 1 Then FVred2 = u1 * F ' effort relevIf code = 2 Then FVred2 = ii ' nombre de cbles relevant n Then n = x1n = (Int(n / 2) + 1) * 2nr = Int(dpout / sr + 0.5 + 0.96)sr = dpout / (nr - 0.5)fywd = 250 * (1 + d): If fywd > fyk / gs Then fywd = fyk / gsAsw = (vEd - 0.75 * vRdc) * u1 / (1.5 * fywd)Asw1 = 0.08 * upout * Sqr(fck) / (1.5 * fyk)If Asw1 > Asw Then Asw = Asw1Ast = sr * Asw / n * 10000 For i = 1 To 8 If Ast < Aci(i) Then ndi = nd(i): phi = dia(i): GoTo 90 Next i90 Angle = Angle / nIf ndi = 1 Then Lac = (h - dprb) + 0.024 * phi Else Lac = 2 * (h - dprb) + 0.024 * phiPoi = Lac * n * nr * Pi * (phi / 10) ^ 2 / 4 * 0.785T(1) = ndiT(2) = phiT(3) = srT(4) = nT(5) = nrT(11) = AswT(12) = AstT(14) = doutT(15) = Poi ' poids des aciersT(16) = uoutT(17) = Lac ' longueur pingle ou trierT(18) = hT(19) = Angle98 Poincinter = macd(T, 20)99 End FunctionFunction cass(k1, k2)If k1 < 1 And k2 < 1 Then cass = 1: GoTo 99If k1 < 1 And k2 > 1 Then cass = 2: GoTo 99If k1 > 1 And k2 < 1 Then cass = 3: GoTo 99cass = 499 End FunctionFunction parab(x, typ, la, c1, c2, du, L, h, code)' quations des paraboles : z et z' pour x donn < a / 2 + kd * d' typ=0=trave interm' typ=1=trave de rive ct appui interm' typ=2=trave de rive ct riveLaL = la * L ' lambda*Lde = h - c1 - c2If typ > 0 Then GoTo 20' appui interm et trave intermIf x > LaL Then GoTo 10be = 2 * de / la / L / Lz = h - c2 - be * x * xzp = -2 * be * xGoTo 1110 x0 = x - 0.5 * Lbe = 2 * de / (0.5 - la) / L / Lz = c1 + be * x0 * x0zp = 2 * be * x0GoTo 11

20 'autres casGA = de / (0.5 * h - c1) - 1: GB = 2 - la: gc = la - 1GD = GB * GB - 4 * GA * gcal = (Sqr(GD) - GB) / 2 / GAIf typ > 1 Then GoTo 40'appui voisin de rive, trave de riveIf x > la * L Then GoTo 15be = de / (1 - al) / la / L / Lz = h - c2 - be * x * xzp = -2 * be * xGoTo 1115 x0 = L - x - al * Lbe = (0.5 * h - c1) / al / al / L / Lz = c1 + be * x0 * x0zp = 2 * be * x0GoTo 11

40 ' appui de rivex0 = x - al * Lbe = (0.5 * h - c1) / (al * L) ^ 2z = c1 + be * x0 * x0zp = 2 * be * x0

11 If code = 1 Then parab = z: GoTo 99If code = 2 Then parab = Abs(zp): GoTo 99If code = 3 Then parab = al: GoTo 99If code = 4 Then parab = GAIf code = 5 Then parab = be99 End FunctionFunction Veri(rho, GVEd, a, b, h, d, fck, gc, six, siy, sx, sy, Asx, Asy, code)Pi = 4 * Atn(1)u0 = 2 * (a + b)vEd0 = GVEd / u0 / dvRd0 = 0.4 * 0.6 * (1 - fck / 250) * fck / gcu1 = 2 * (a + b) + 4 * Pi * dvEd = GVEd / u1 / dIf sx = 0 Then scx = 0 Else scx = six * Asx / 1000000 / h / sxIf sy = 0 Then scy = 0 Else scy = siy * Asy / 1000000 / h / syscp = (scx + scy) / 2k = 1 + Sqr(0.2 / d)If k > 2 Then k = 2vmin = 0.035 * k ^ 1.5 * Sqr(fck) + 0.1 * scpvRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3) + 0.1 * scpIf vRdc < vmin Then vRdc = vminIf code = 1 Then Veri = vEd0: GoTo 99If code = 2 Then Veri = vRd0: GoTo 99If code = 3 Then Veri = vEd: GoTo 99If code = 4 Then Veri = vRdc: GoTo 99If code = 5 Then Veri = d: GoTo 99If code = 6 Then Veri = u1: GoTo 99If code = 7 Then Veri = scp: GoTo 9999 End FunctionFunction macd(a, n)Dim NM, i1, i2, j, j1, j2, j3, k, ip As IntegerDim x As DoubleDim s, sor, ua, UB, UD, UX, UY As StringNM = 6 ' nombre de chiffres significatifs' i1=1 ou 3=signe du nombre , i2=1 ou 3=inverse ou nonsor = "" For k = 1 To n x = a(k) If Abs(x) < 0.0000000001 Then s = "0000": For j = 1 To NM: s = s & "0": Next j: GoTo 2 If x < 0 Then x = -x: UX = "1" Else x = x: UX = "3" If x < 1 Then UY = "1": x = 1 / x Else UY = "3" ua = Str(x) ' positif et > 1 ip = Val(InStr(ua, ".")) ' place du point If ip = 0 Then ip = Len(ua) + 1 j1 = ip - 2 ' nombre de chiffre avant le point If j1 < 10 Then UD = "0" & Right(Str(j1), 1) Else UD = Right(Str(j1), 2)If j1 >= NM Then GoTo 7 Else GoTo 87 UB = Left(ua, NM + 1)j2 = Len(UB): UB = Right(UB, j2 - 1)GoTo 38 UB = Left(ua, j1 + 1) & Mid(ua, ip + 1, NM - j1)j2 = Len(UB): UB = Right(UB, j2 - 1)If j2 < NM + 1 Then For j3 = 1 To NM - j2 + 1: UB = UB & "0": Next j33 s = UX & UY & UD & UB2 sor = sor & s Next kmacd = sor99 End FunctionFunction macf(ua, i)Dim NM, i1, i2, j1, k As IntegerDim x As DoubleDim UB As StringNM = 6 ' nombre de chiffres significatifsk = (i - 1) * (NM + 4)' i1=1 ou 3=signe du nombre , i2=1 ou 3=inverse ou noni1 = Val(Mid(ua, k + 1, 1))i2 = Val(Mid(ua, k + 2, 1))j1 = Val(Mid(ua, k + 3, 2))x = Val(Mid(ua, k + 5, NM))If i1 = 0 Then macf = 0: GoTo 99macf = (i1 - 2) * x * 10 ^ (j1 - NM)If i2 < 2 Then macf = 1 / macf99 End Function

Attribute VB_Name = "ThisWorkbook"Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = TrueAttribute VB_TemplateDerived = FalseAttribute VB_Customizable = True

MBD00652A6B.unknownAttribute VB_Name = "Feuil1"Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = TrueAttribute VB_TemplateDerived = FalseAttribute VB_Customizable = True

Attribute VB_Name = "Module1"Function kompt(n, nt, tabxy, a, b, del)If del = 0 Then k = 0: GoTo 10k = 0nnt = n * nt For i = 1 To nnt If Abs(tabxy(i, 1)) < a / 2 + del And Abs(tabxy(i, 3)) < b / 2 + del Then k = k + 1 Next i10 kompt = k99 End FunctionFunction deboe(Lx1, Lx2, Ly1, Ly2, anri)deboe = ""If anri = 0 Then GoTo 23If Lx1 = 0 Or Lx2 = 0 Then GoTo 22If Lx1 / Lx2 < 2 And Lx1 / Lx2 > 0.5 Then deboe = "verifier les longueurs des dbords de dalle (erreur ?)"22 If Ly1 = 0 Or Ly2 = 0 Then GoTo 23If Ly1 / Ly2 < 2 And Ly1 / Ly2 > 0.5 Then deboe = "verifier les longueurs des dbords de dalle (erreur ?)"23 End FunctionFunction fernt(i, j, NTi, NTj)fernt = ""If i = 1 And j = 1 Then fernt = "poteau d'angle": GoTo 10If i = 1 And j = NTj + 1 Then fernt = "poteau d'angle": GoTo 10If i = NTi + 1 And j = 1 Then fernt = "poteau d'angle": GoTo 10If i = NTi + 1 And j = NTj + 1 Then fernt = "poteau d'angle": GoTo 10If i = 1 Or i = NTi + 1 Or j = 1 Or j = NTj + 1 Then fernt = "poteau de rive": GoTo 1010 End FunctionFunction ferno(i, j, NTi, NTj)ferno = 0If i = 1 Or i = NTi + 1 Or j = 1 Or j = NTj + 1 Then ferno = 1End FunctionFunction fuo1(i, j, c1, c2, L1x, L1y, L2x, L2y, d, NTi, NTj, code)Pi = 4 * Atn(1)u0 = 2 * c1 + 2 * c2: u1 = u0 + 4 * Pi * dIf i = 1 And j = 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L1x, L1y, d): GoTo 41If i = 1 And j = NTj + 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L2x, L1y, d): GoTo 41If i = 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c2, c1, L1y, d): GoTo 41If i = NTi + 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c2, c1, L2y, d): GoTo 41If i = NTi + 1 And j = 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L1x, L2y, d): GoTo 41If i = NTi + 1 And j = NTj + 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L2x, L2y, d): GoTo 41If j = 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c1, c2, L1x, d): GoTo 41If j = NTj + 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c1, c2, L2x, d): GoTo 4141 If code = 1 Then fuo1 = u0 Else fuo1 = u1End FunctionFunction fu0A(c1, c2, d)' angleu0 = c1 + c2Z1 = 3 * dIf Z1 < u0 Then u0 = Z1fu0A = u0End FunctionFunction fu0R(c1, c2, d)' rive gaucheu0 = 2 * c1 + c2Z1 = c2 + 3 * dIf Z1 < u0 Then u0 = Z1fu0R = u0End FunctionFunction fu1A(c1, c2, L1x, L1y, d)' anglePi = 4 * Atn(1)c3 = L1x - c1 / 2c4 = L1y - c2 / 2u1 = 2 * c1 + 2 * c2 + 4 * Pi * dZ1 = c1 + c2 + c3 + c4 + Pi * dIf Z1 < u1 Then u1 = Z1fu1A = u1End FunctionFunction fu1R(c1, c2, L1x, d)' rive gauchePi = 4 * Atn(1)c3 = L1x - c1 / 2u1 = 2 * c1 + c2 + 2 * Pi * d + 2 * c3Z1 = 2 * c1 + 2 * c2 + 4 * Pi * dIf Z1 < u1 Then u1 = Z1fu1R = u1End FunctionFunction Zr(c1, c2, d, bVd, Asx, Asy, fck, gc)Pi = 4 * Atn(1)a = bVdn = 20r1 = 0bor1 = 0: bor2 = 1 ' retombe maxi = 1 mFor k = 1 To 5 For i = 0 To n r = bor1 + (bor2 - bor1) * i / n d1 = d + r u1 = 2 * (c1 + c2) + 4 * Pi * d1 vRdc = fvRdc2(Asx, Asy, d1, fck, gc) b = d1 * vRdc * u1 If b > a Then GoTo 10 r1 = r Next i10 bor1 = r1: bor2 = rNext kZr = r99 End FunctionFunction Zdel(c1, c2, d, bVd, Asx, Asy, fck, gc)Pi = 4 * Atn(1)vRdc = fvRdc2(Asx, Asy, d, fck, gc)a = bVd / 2 / Pi / d / vRdcn = 20del1 = 0bor1 = 0: bor2 = 5For k = 1 To 5 For i = 0 To n del = bor1 + (bor2 - bor1) * i / n rcont = frcont(c1, c2, d, del) b = rcont If b > a Then GoTo 10 del1 = del Next i10 bor1 = del1: bor2 = delNext kZdel = del99 End FunctionFunction fvRdc2(Asx, Asy, d, fck, gc)k = 1 + Sqr(0.2 / d)If k > 2 Then k = 2rh = Sqr(Asx * Asy) / d / 10000u1 = 0.18 / gc * k * (100 * rh * fck) ^ (1 / 3)U2 = 0.035 * k ^ 1.5 * Sqr(fck)If U2 > u1 Then u1 = U2fvRdc2 = u199 End FunctionFunction fvRdc(fck, gc, Asx, Asy, dx, dy, scp)d = 0.5 * (dx + dy)rho = Sqr(Asx / dx * Asy / dy) / 10000CRdc = 0.18: k1 = 0.1k = 1 + Sqr(0.2 / d) ' d en mIf k > 2 Then k = 2vmin = 0.035 * k ^ 1.5 * Sqr(fck)vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3)If vmin > vRdc Then vRdc = vminvRdc = vRdc + k1 * scpfvRdc = vRdc99 End FunctionFunction frcont(c1, c2, d, del)u1 = 0.56 * Sqr((c1 + 2 * del) * (c2 + 2 * del))U2 = 0.69 * (c2 + 2 * del)If U2 < u1 Then u1 = U2frcont = u1 + 2 * d99 End FunctionFunction chap4(fck, gc, GVEd, c1, c2, d, Asx, Asy, dx, dy, scp)' pas d'armatures si chapiteau LH = 2dHDim T(10)Pi = 4 * Atn(1)hH0 = 0' u1 = 2 * c1 + 2 * c2 + 4 * Pi() * d' vEd = GVEd / d / u1' vRdc = fvRdc(fck, gc, Asx, Asy, dx, dy, scp)

For itour = 1 To 2If itour = 1 Then nd = 100 Else nd = 1000 For i = 1 To 210 hH = hH0 + i / nd dH = d + hH LH = 2 * hH L1 = c1 + 2 * LH: L2 = c2 + 2 * LH rcont = 0.56 * Sqr(L1 * L2) Z1 = L1 If Z1 > L2 Then Z1 = L2 If rcont > 0.69 * Z1 Then rcont = 0.69 * Z1 rcont = rcont + 2 * d ucont = 2 * Pi * rcont vEd = GVEd / (d * ucont) dxH = dx + hH: dyH = dy + hH scpH = scp * d / (d + hH) vRdc = fvRdc(fck, gc, Asx, Asy, dxH, dyH, scpH) If vEd < vRdc Then hH0 = hH - 0.01: GoTo 22 Next i22 Next itour

T(1) = hH: T(2) = vRdc: T(3) = rcont: T(4) = ucontT(5) = Int(L1 * 1000 + 0.2) / 1000: T(6) = Int(L2 * 1000 + 0.2) / 1000chap4 = macd(T, 7)

99 End FunctionFunction chap3(GVEd, c1, c2, d, vRdmax, code)' chapiteau obligatoireu0 = 2 * c1 + 2 * c2dH = GVEd / (u0 * vRdmax)LH = (GVEd / (d * vRdmax) - u0) / 8 + 0.0099LH = Int(LH * 100) / 100hH = dH - d + 0.0099hH = Int(100 * hH) / 100If code = 1 Then chap3 = hH Else chap3 = LHEnd FunctionFunction chapH2(GVEd, c1, c2, d, h, rho, scp, fck)' chapiteau de dbord = 2 hH et hH tel que dalle non armPi = 4 * Atn(1)For i = 1 To 200hH = i * 0.01dH = d + hHu1 = 2 * c1 + 2 * c2 + 4 * Pi * d + 8 * hHk = 1 + Sqr(0.2 / d)If kH > 2 Then kH = 2vRd = 0.12 * k * (100 * rho * fck) ^ (1 / 3)vmin = 0.035 * k ^ 1.5 * Sqr(fck)If vRd < vmin Then vRd = vminvRd = vRd + 0.1 * scpvEd = GVEd / u1 / dU6 = vEd / vRd - 1If vEd < vRd Then hH = U4 + (hH - U4) * U5 / (U5 - U6): GoTo 22U3 = vEd: U4 = hH: U5 = vEd / vRd - 1Next i22 chapH2 = hH99 End FunctionFunction chapHh(GVEd, c1, c2, d, h, rho, scp, fck)' chapiteau de hauteur hH tel que chapiteau non armPi = 4 * Atn(1)For i = 1 To 200hH = i * 0.01dH = d + hHu1H = 2 * c1 + 2 * c2 + 4 * Pi * dHkH = 1 + Sqr(0.2 / dH)If kH > 2 Then kH = 2rhoH = rho * d / dHscpH = scp * h / (h + hH)vRd = 0.12 * kH * (100 * rhoH * fck) ^ (1 / 3)vmin = 0.035 * kH ^ 1.5 * Sqr(fck)If vRd < vmin Then vRd = vminvRd = vRd + 0.1 * scpHvEdH = GVEd / u1H / dHchapHh = vEdH / vRd: GoTo 99U6 = vEdH / vRd - 1If vEdH < vRd Then hH = U4 + (hH - U4) * U5 / (U5 - U6): GoTo 22U3 = vEdH: U4 = hH: U5 = vEdH / vRd - 1Next i22 chapHh = hH99 End FunctionFunction chap(da, u0, ha, fck, rhoa, GVEd, Pi, CRdc, gc, scp0)d = da: h = ha For i = 1 To 10 scp = scp0 * ha / h rho = rhoa * da / d k = 1 + Sqr(0.2 / d) If k > 2 Then k = 2 vmin = 0.035 * k ^ 1.5 * Sqr(fck) + 0.1 * scp vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3) + 0.1 * scp If vRdc < vmin Then vRdc = vmin u = u0 + 4 * Pi * d d = GVEd / u / vRdc h = ha - da + d Next ichap = hEnd FunctionFunction Poinc3(da, b, uoutef, d, rect1, code)' coordonnes des triers en x et y' rect1=1 : poteau pseudo-carr, rect1=2 : poteau rectangulaire prononc' a et b = cts du rectangle (si rect >= 0) avec a >=b' r1 = 0.5 d et r2 = rout - 1.5 d' maxi 58 rayons et 25 cerces mais n*nc 3 / 4 * n Then x = x + dab / 2 Else x = x - dab / 2 jj = jj + 1 If code = 1 Then T(jj) = x Else T(jj) = y Tabx(k, j) = x: Taby(k, j) = y Next jNext kUMR2 = 0If rect1 < 2 Then n0 = 1: n1 = n - 1: GoTo 42nd = Int(dab / 1.5 / d) + 1 ' cas section rectangulaire prononcen0 = n / 4 + 1: n1 = n / 2u1 = dab / ndIf u1 > UMR2 Then UMR2 = u1 ' espace entre // Oy pour poteau large For k = 1 To nd ' rayons verticaux For j = 1 To nc ' pour chaque cours priphrique x = -dab / 2 + (k - 1) * dab / nd i = n / 4 ' 90 y = Taby(i, j) jj = jj + 1 If code = 1 Then T(jj) = x Else T(jj) = y Tabx(n + k, j) = x: Taby(n + k, j) = y x = dab / 2 - (k - 1) * dab / nd jj = jj + 1 If code = 1 Then T(jj) = x Else T(jj) = -y Tabx(n + k + nd, j) = x: Taby(n + k + nd, j) = -y Next j Next k42 s = (rout - b / 2 - 0.5 * d) / (nc - 1) 'espacement maxi entre cours (suivant Oy)i = Int((2 * d - 0.5 * d) / s) + 1 ' n du cours l'intrieur du contour de rfrence u1 For k = n0 To n1 th = k / n * 2 * Pi x0 = courspo(a, b, r1, th, 1): y0 = courspo(a, b, r1, th, 2) xlast = rout * Cos(th): ylast = rout * Sin(th) x1 = x0 + (xlast - x0) * (i - 1) / (nc - 1) y1 = y0 + (ylast - y0) * (i - 1) / (nc - 1) th = (k + 1) / n * 2 * Pi x0 = courspo(a, b, r1, th, 1): y0 = courspo(a, b, r1, th, 2) xlast = rout * Cos(th): ylast = rout * Sin(th) x2 = x0 + (xlast - x0) * (i - 1) / (nc - 1) y2 = y0 + (ylast - y0) * (i - 1) / (nc - 1) u1 = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) If u1 > UMR2 Then UMR2 = u1 Next kkomp = komp + 1If rect1 = 1 And UMR2 > 1.5 * d And komp < 5 Then n = n + 1: jj = 0: GoTo 86If rect1 = 2 And UMR2 > 1.5 * d And komp < 5 Then n = n + 4: jj = 0: GoTo 86For j = jj To 530: T(j) = T(jj): Next j For k = 1 To n ' distance sr du rayon i (constant par rayon) x1 = Tabx(k, 1): y1 = Taby(k, 1) x2 = Tabx(k, nc): y2 = Taby(k, nc) u1 = Sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2) / (nc - 1)'If k = 5 Then Poinc3 = uout: GoTo 99

T(530 + k) = u1 Next kT(591) = kompT(592) = nc: T(593) = n: T(594) = jjT(597) = UMA: T(596) = UMIT(599) = UMC: T(600) = UMR: T(598) = UMR2 For i = 1 To n ' distance du premier acier au poteau x = Abs(Tabx(i, 1)): y = Abs(Taby(i, 1)) If x b / 2 Then dt = y - b / 2: GoTo 12 If y a / 2 Then dt = x - a / 2: GoTo 12 dt = Sqr((x - a / 2) ^ 2 + (y - b / 2) ^ 2)12 jj = 600 + i T(jj) = dt Next i

' espacement maxi sur le cours jFor j = 1 To nc 'pour chaque coursmesp = 0 For i = 2 To n 'pour chaque rayon esp = Sqr((Tabx(i, j) - Tabx(i - 1, j)) ^ 2 + (Taby(i, j) - Taby(i - 1, j)) ^ 2) If esp > mesp Then mesp = esp Next iT(660 + j) = mespNext j

98 Poinc3 = macd(T, 700)'Poinc3 = n

99 End FunctionFunction phiphi(a, b, r, th, th0, th1, code)' coordonnes cartsiennes pour 0 < th < Pi / 2Pi = 4 * Atn(1)Ra = a / 2: Rb = b / 2tgi = Tan(th)If th < th0 Then x = Ra + r: y = x * tgi: GoTo 10If th > th1 Then y = Rb + r: x = y / tgi: GoTo 10GA = 1 + tgi * tgiGB = -(a + b * tgi)gc = Ra * Ra + Rb * Rb - r * rdel = GB * GB - 4 * GA * gcx = (Sqr(del) - GB) / 2 / GAy = x * tgi10 If code = 1 Then phiphi = x Else phiphi = y99 End FunctionFunction courspo(a, b, r, th, code)' coordonnes d'un point situ sur un profil parallle aux nus du poteau une distance r du nuPi = 4 * Atn(1)Ra = a / 2: Rb = b / 2 th0 = Atn((Rb) / (Ra + r)): th1 = Atn((Rb + r) / (Ra)) ' rectangle If th = 0 Or th = 2 * Pi Then x = Ra + r: y = 0: GoTo 11 If th = Pi / 2 Then x = 0: y = Rb + r: GoTo 11 If th = Pi Then x = -Ra - r: y = 0: GoTo 11 If th = 1.5 * Pi Then x = 0: y = -Rb - r: GoTo 11 If th < Pi / 2 Then tha = th: x = phiphi(a, b, r, tha, th0, th1, 1): y = phiphi(a, b, r, tha, th0, th1, 2): GoTo 11 If th < Pi Then tha = Pi - th: x = -phiphi(a, b, r, tha, th0, th1, 1): y = phiphi(a, b, r, tha, th0, th1, 2): GoTo 11 If th < 1.5 * Pi Then tha = th - Pi: x = -phiphi(a, b, r, tha, th0, th1, 1): y = -phiphi(a, b, r, tha, th0, th1, 2): GoTo 11 tha = 2 * Pi - th: x = phiphi(a, b, r, tha, th0, th1, 1): y = -phiphi(a, b, r, tha, th0, th1, 2): GoTo 1111 If code = 1 Then courspo = x Else courspo = yEnd FunctionFunction recta(c1, c2, GVEd, fck, gc, fyk, gs, coef5, Asx, Asy, dx, dy, scp)Dim T(25) 'poteau rectangulaire sans chapiteauPi = 4 * Atn(1)Asws = 0d = 0.5 * (dx + dy)sr = 0: st = 0: Asws = 0: phi = 0CRdc = 0.18: k1 = 0.1fyd = fyk / gsu0 = 2 * (c1 + c2)33 vRdmax = coef5 * 0.6 * (1 - fck / 250) * fck / gc 'coef5 = 0,4 au lieu de 0,5 d'aprs Corrigendum N 2vEd0 = GVEd / u0 / dvRdc = fvRdc(fck, gc, Asx, Asy, dx, dy, scp)

'k = 1 + Sqr(0.2 / d) ' d en m'If k > 2 Then k = 2'vmin = 0.035 * k ^ 1.5 * Sqr(fck)'vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3)'If vmin > vRdc Then vRdc = vmin'vRdc = vRdc + k1 * scp

u1 = 2 * (c1 + c2) + 2 * Pi * (2 * d)34 vEd = GVEd / u1 / dIf vEd < vRdc Then GoTo 98fywd = 250 * (1 + d)If fywd > fyd Then fywd = fydAsws = (vEd - 0.75 * vRdc) * u1 / 1.5 / fywd ' = (nt*As0)/sruout = GVEd / vRdc / d ' contour extrieur sans acierrout = (uout / 2 / Pi) - 1.5 * d

98 T(1) = u0: T(2) = vEd0: T(3) = vRdmaxT(4) = u1: T(5) = vEd: T(6) = vRdcT(7) = fywd: T(8) = Asws ': T(9) = nt: T(10) = nrT(20) = rout'T(11) = sr: T(12) = st: T(13) = phi:T(9) = uout'T(15) = Angle:'T(16) = uoutred': T(17) = Asw1'T(18) = Asw1: T(19) = nbrin: T(20) = routrecta = macd(T, 20)99 End FunctionFunction rectb(Asws, listac, sr, st, nt, nbrinmax, fck, fyk)'armaturesDim T(10)Pi = 4 * Atn(1)Asw1 = Asws * sr / nt / 10000 ' aire d'un trier ou pingle ou cadre For i = 1 To 14 If Asw1 > listac(i, 3) / 10000 Then GoTo 131 phi = listac(i, 2): nbrin = listac(i, 1) Aswmin = 0.08 * nbrin * Sqr(fck) / fyk * st * sr / 1.5 ' % mini If nbrin > nbrinmax Then GoTo 131 If Asws1 < Aswmin Then Asws1 = Aswmin GoTo 139131 Next iphi = Sqr(4 * Asw1 / nbrinmax / Pi) * 1000: nbrin = nbrinmax139 'Asw1 = Asws / nbrin / nt ' acier d'un brin98 T(1) = phi: T(2) = nbrin: T(3) = Aswmin: T(4) = Asw1: T(5) = Pi * (phi / 10) ^ 2 / 4 * nbrinrectb = macd(T, 10)99 End FunctionFunction rayx(k, n, a, b, rect1, uoutef, d, code)' coordonnes des rayonsIf uoutef = 0 Then rayx = 0: GoTo 99Pi = 4 * Atn(1)a0 = b / 4

If rect1 > 1 Then GoTo 48th = k / n * 2 * Pi ' poteau pseudo-carrrout = uoutef / 2 / Pix1 = a0 * Cos(th): y1 = a0 * Sin(th)x2 = rout * Cos(th): y2 = rout * Sin(th)GoTo 41

48 dab = a - b 'poteau rectangulaire prononcncs = Int(dab / 1.5 / d)rout = (uoutef - 2 * dab) / 2 / PiIf k > n Then GoTo 38th = k / n * 2 * Picoef = 1If k > n / 4 And k < 3 / 4 * n + 1 Then coef = -1x1 = dab / 2 * coef + a0 * Cos(th): y1 = a0 * Sin(th)x2 = dab / 2 * coef + rout * Cos(th): y2 = rout * Sin(th)GoTo 41

38 If k = n + 1 Then x1 = -dab / 2: x2 = x1: y1 = a0: y2 = rout: GoTo 41If k = n + 2 Then x1 = dab / 2: x2 = x1: y1 = -a0: y2 = -rout: GoTo 41

If k > n + 2 + ncs Then GoTo 39 ' rayons verticaux intermdiairesi = k - n - 2x1 = -dab / 2 + dab * i / (ncs + 1): x2 = x1y1 = a0: y2 = routGoTo 4139 i = k - n - ncs - 2x1 = -dab / 2 + dab * i / (ncs + 1): x2 = x1y1 = -a0: y2 = -rout

41 If code = 1 Then rayx = x1If code = 2 Then rayx = y1If code = 3 Then rayx = x2If code = 4 Then rayx = y2

99 End FunctionFunction extu(k, n, a, b, rect1, uoutef, code)' coordonnes des points de uout,efPi = 4 * Atn(1)If uoutef = 0 Then extu = 0: GoTo 99

If rect1 = 2 Then dab = a - b Else dab = 0

uout = (uoutef - 2 * dab) / 2 / PiIf rect1 < 2 Then GoTo 20

If k > n / 4 Then GoTo 21th = k / n * 2 * Pix = dab / 2 + uout * Cos(th): y = uout * Sin(th)GoTo 4121 If k = n / 4 + 1 Then x = -dab / 2: y = uout: GoTo 41If k > 3 / 4 * n + 1 Then GoTo 22th = (k - 1) / n * 2 * Pix = -dab / 2 + uout * Cos(th): y = uout * Sin(th)GoTo 4122 If k = 3 / 4 * n + 2 Then x = dab / 2: y = -uout: GoTo 41th = (k - 2) / n * 2 * Pix = dab / 2 + uout * Cos(th): y = uout * Sin(th)GoTo 4120 th = k / n * 2 * Pi ' poteau carrx = uout * Cos(th): y = uout * Sin(th)41 If code = 1 Then extu = x Else extu = y

99 End FunctionFunction dess(nr, nt, sr, c1, c2, d, code)Dim T(600)k = 0c = Sqr(c1 * c2)Pi = 4 * Atn(1) For i = 1 To nr For j = 1 To nt k = k + 1 r = c / 2 + 0.5 * d + (i - 1) * sr q = j / nt * Pi * 2 x = r * Cos(q): y = r * Sin(q) If code = 1 Then T(k) = x Else T(k) = y Next j Next iFor i = k To 600: T(i) = T(k): Next idess = macd(T, 600)99 End FunctionFunction Vau11(Lx1, Lx2, Ly1, Ly2, mu, bet1, bet2, bet3, p)' en angle pour i=1 et j=1 (A)Vau11 = p * bet3 * (Lx1 + Lx2 / 2) * (Ly1 + Ly2 / 2)End FunctionFunction Vau21(Lx1, Lx2, Ly1, Ly2, mu, bet1, bet2, bet3, p)' en rive avec continuit i=2 et j=1 (B)If Lx2 > Ly1 Then GoTo 10Vau21 = p * bet2 * ((Ly1 + Ly2) / 2 * Lx1 * mu + (1 - mu) * Lx2 ^ 2 / 4 + mu * (Ly1 + Ly2) * Lx2 / 4)GoTo 9910 Vau21 = p * bet2 * ((Ly1 + Ly2) / 2 * Lx1 * mu + (mu - 1) * (Ly1 + Ly2) ^ 2 / 16 + (Ly1 + Ly2) * Lx2 / 4)99 End FunctionFunction Vau31(Lx1, Lx2, Ly1, Ly2, mu, bet1, bet2, bet3, p)' rive courante avec j=1 et 2 kd * d Then GoTo 12 x1a = x1: y1a = y1: z1a = Z1: x2a = x2: y2a = y2: z2a = z2: Ra = r Next j12 kR = (kd * d - Ra) / (r - Ra)x1 = x1a + (x1 - x1a) * kRx2 = x2a + (x2 - x2a) * kRy1 = y1a + (y1 - y1a) * kRy2 = y2a + (y2 - y2a) * kRZ1 = z1a + (Z1 - z1a) * kRz2 = z2a + (z2 - z2a) * kRzp1 = parab(x1, typ, la, c1, c2, du, L, h, 2)alp = Atn(zp1)If jj = 0 Then alp = 0If code = 1 Then RechVred = Abs(Sin(alp))If code = 2 Then RechVred = y1If code = 3 Then RechVred = x1If code = 4 Then RechVred = Z1If code = 5 Then RechVred = zp1If code = 6 Then RechVred = jj99 End FunctionFunction FVred2(F, a, s, la, h, c1, c2, du, L, kd, typ, kV, code)' effort de poinonnement relev par les cbles traversant le cne de poinonnement' en MN pour un effort de traction F dans un cble pour un ct (1 quadrant)' pour l'effort tranchant = sin(alpha)' d = h - c2n = Int((a / 2 + kd * du) / s + 0.5) ' nombre de cbles'If kV = 1 Then N = 1 pour eff tru1 = 0: ii = 0 For i = 1 To n u0 = RechVred(a, s, i, la, h, c1, c2, du, L, kd, typ, kV, 1) If u0 > 0 Then ii = ii + 1 u1 = u1 + u0 Next iIf code = 1 Then FVred2 = u1 * F ' effort relevIf code = 2 Then FVred2 = ii ' nombre de cbles relevant n Then n = x1n = (Int(n / 2) + 1) * 2nr = Int(dpout / sr + 0.5 + 0.96)sr = dpout / (nr - 0.5)fywd = 250 * (1 + d): If fywd > fyk / gs Then fywd = fyk / gsAsw = (vEd - 0.75 * vRdc) * u1 / (1.5 * fywd)Asw1 = 0.08 * upout * Sqr(fck) / (1.5 * fyk)If Asw1 > Asw Then Asw = Asw1Ast = sr * Asw / n * 10000 For i = 1 To 8 If Ast < Aci(i) Then ndi = nd(i): phi = dia(i): GoTo 90 Next i90 Angle = Angle / nIf ndi = 1 Then Lac = (h - dprb) + 0.024 * phi Else Lac = 2 * (h - dprb) + 0.024 * phiPoi = Lac * n * nr * Pi * (phi / 10) ^ 2 / 4 * 0.785T(1) = ndiT(2) = phiT(3) = srT(4) = nT(5) = nrT(11) = AswT(12) = AstT(14) = doutT(15) = Poi ' poids des aciersT(16) = uoutT(17) = Lac ' longueur pingle ou trierT(18) = hT(19) = Angle98 Poincinter = macd(T, 20)99 End FunctionFunction cass(k1, k2)If k1 < 1 And k2 < 1 Then cass = 1: GoTo 99If k1 < 1 And k2 > 1 Then cass = 2: GoTo 99If k1 > 1 And k2 < 1 Then cass = 3: GoTo 99cass = 499 End FunctionFunction parab(x, typ, la, c1, c2, du, L, h, code)' quations des paraboles : z et z' pour x donn < a / 2 + kd * d' typ=0=trave interm' typ=1=trave de rive ct appui interm' typ=2=trave de rive ct riveLaL = la * L ' lambda*Lde = h - c1 - c2If typ > 0 Then GoTo 20' appui interm et trave intermIf x > LaL Then GoTo 10be = 2 * de / la / L / Lz = h - c2 - be * x * xzp = -2 * be * xGoTo 1110 x0 = x - 0.5 * Lbe = 2 * de / (0.5 - la) / L / Lz = c1 + be * x0 * x0zp = 2 * be * x0GoTo 11

20 'autres casGA = de / (0.5 * h - c1) - 1: GB = 2 - la: gc = la - 1GD = GB * GB - 4 * GA * gcal = (Sqr(GD) - GB) / 2 / GAIf typ > 1 Then GoTo 40'appui voisin de rive, trave de riveIf x > la * L Then GoTo 15be = de / (1 - al) / la / L / Lz = h - c2 - be * x * xzp = -2 * be * xGoTo 1115 x0 = L - x - al * Lbe = (0.5 * h - c1) / al / al / L / Lz = c1 + be * x0 * x0zp = 2 * be * x0GoTo 11

40 ' appui de rivex0 = x - al * Lbe = (0.5 * h - c1) / (al * L) ^ 2z = c1 + be * x0 * x0zp = 2 * be * x0

11 If code = 1 Then parab = z: GoTo 99If code = 2 Then parab = Abs(zp): GoTo 99If code = 3 Then parab = al: GoTo 99If code = 4 Then parab = GAIf code = 5 Then parab = be99 End FunctionFunction Veri(rho, GVEd, a, b, h, d, fck, gc, six, siy, sx, sy, Asx, Asy, code)Pi = 4 * Atn(1)u0 = 2 * (a + b)vEd0 = GVEd / u0 / dvRd0 = 0.4 * 0.6 * (1 - fck / 250) * fck / gcu1 = 2 * (a + b) + 4 * Pi * dvEd = GVEd / u1 / dIf sx = 0 Then scx = 0 Else scx = six * Asx / 1000000 / h / sxIf sy = 0 Then scy = 0 Else scy = siy * Asy / 1000000 / h / syscp = (scx + scy) / 2k = 1 + Sqr(0.2 / d)If k > 2 Then k = 2vmin = 0.035 * k ^ 1.5 * Sqr(fck) + 0.1 * scpvRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3) + 0.1 * scpIf vRdc < vmin Then vRdc = vminIf code = 1 Then Veri = vEd0: GoTo 99If code = 2 Then Veri = vRd0: GoTo 99If code = 3 Then Veri = vEd: GoTo 99If code = 4 Then Veri = vRdc: GoTo 99If code = 5 Then Veri = d: GoTo 99If code = 6 Then Veri = u1: GoTo 99If code = 7 Then Veri = scp: GoTo 9999 End FunctionFunction macd(a, n)Dim NM, i1, i2, j, j1, j2, j3, k, ip As IntegerDim x As DoubleDim s, sor, ua, UB, UD, UX, UY As StringNM = 6 ' nombre de chiffres significatifs' i1=1 ou 3=signe du nombre , i2=1 ou 3=inverse ou nonsor = "" For k = 1 To n x = a(k) If Abs(x) < 0.0000000001 Then s = "0000": For j = 1 To NM: s = s & "0": Next j: GoTo 2 If x < 0 Then x = -x: UX = "1" Else x = x: UX = "3" If x < 1 Then UY = "1": x = 1 / x Else UY = "3" ua = Str(x) ' positif et > 1 ip = Val(InStr(ua, ".")) ' place du point If ip = 0 Then ip = Len(ua) + 1 j1 = ip - 2 ' nombre de chiffre avant le point If j1 < 10 Then UD = "0" & Right(Str(j1), 1) Else UD = Right(Str(j1), 2)If j1 >= NM Then GoTo 7 Else GoTo 87 UB = Left(ua, NM + 1)j2 = Len(UB): UB = Right(UB, j2 - 1)GoTo 38 UB = Left(ua, j1 + 1) & Mid(ua, ip + 1, NM - j1)j2 = Len(UB): UB = Right(UB, j2 - 1)If j2 < NM + 1 Then For j3 = 1 To NM - j2 + 1: UB = UB & "0": Next j33 s = UX & UY & UD & UB2 sor = sor & s Next kmacd = sor99 End FunctionFunction macf(ua, i)Dim NM, i1, i2, j1, k As IntegerDim x As DoubleDim UB As StringNM = 6 ' nombre de chiffres significatifsk = (i - 1) * (NM + 4)' i1=1 ou 3=signe du nombre , i2=1 ou 3=inverse ou noni1 = Val(Mid(ua, k + 1, 1))i2 = Val(Mid(ua, k + 2, 1))j1 = Val(Mid(ua, k + 3, 2))x = Val(Mid(ua, k + 5, NM))If i1 = 0 Then macf = 0: GoTo 99macf = (i1 - 2) * x * 10 ^ (j1 - NM)If i2 < 2 Then macf = 1 / macf99 End Function

Attribute VB_Name = "ThisWorkbook"Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = TrueAttribute VB_TemplateDerived = FalseAttribute VB_Customizable = True

MBD00B47B15.unknownAttribute VB_Name = "Feuil1"Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = TrueAttribute VB_TemplateDerived = FalseAttribute VB_Customizable = True

Attribute VB_Name = "Module1"Function kompt(n, nt, tabxy, a, b, del)If del = 0 Then k = 0: GoTo 10k = 0nnt = n * nt For i = 1 To nnt If Abs(tabxy(i, 1)) < a / 2 + del And Abs(tabxy(i, 3)) < b / 2 + del Then k = k + 1 Next i10 kompt = k99 End FunctionFunction deboe(Lx1, Lx2, Ly1, Ly2, anri)deboe = ""If anri = 0 Then GoTo 23If Lx1 = 0 Or Lx2 = 0 Then GoTo 22If Lx1 / Lx2 < 2 And Lx1 / Lx2 > 0.5 Then deboe = "verifier les longueurs des dbords de dalle (erreur ?)"22 If Ly1 = 0 Or Ly2 = 0 Then GoTo 23If Ly1 / Ly2 < 2 And Ly1 / Ly2 > 0.5 Then deboe = "verifier les longueurs des dbords de dalle (erreur ?)"23 End FunctionFunction fernt(i, j, NTi, NTj)fernt = ""If i = 1 And j = 1 Then fernt = "poteau d'angle": GoTo 10If i = 1 And j = NTj + 1 Then fernt = "poteau d'angle": GoTo 10If i = NTi + 1 And j = 1 Then fernt = "poteau d'angle": GoTo 10If i = NTi + 1 And j = NTj + 1 Then fernt = "poteau d'angle": GoTo 10If i = 1 Or i = NTi + 1 Or j = 1 Or j = NTj + 1 Then fernt = "poteau de rive": GoTo 1010 End FunctionFunction ferno(i, j, NTi, NTj)ferno = 0If i = 1 Or i = NTi + 1 Or j = 1 Or j = NTj + 1 Then ferno = 1End FunctionFunction fuo1(i, j, c1, c2, L1x, L1y, L2x, L2y, d, NTi, NTj, code)Pi = 4 * Atn(1)u0 = 2 * c1 + 2 * c2: u1 = u0 + 4 * Pi * dIf i = 1 And j = 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L1x, L1y, d): GoTo 41If i = 1 And j = NTj + 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L2x, L1y, d): GoTo 41If i = 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c2, c1, L1y, d): GoTo 41If i = NTi + 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c2, c1, L2y, d): GoTo 41If i = NTi + 1 And j = 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L1x, L2y, d): GoTo 41If i = NTi + 1 And j = NTj + 1 Then u0 = fu0A(c1, c2, d): u1 = fu1A(c1, c2, L2x, L2y, d): GoTo 41If j = 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c1, c2, L1x, d): GoTo 41If j = NTj + 1 Then u0 = fu0R(c1, c2, d): u1 = fu1R(c1, c2, L2x, d): GoTo 4141 If code = 1 Then fuo1 = u0 Else fuo1 = u1End FunctionFunction fu0A(c1, c2, d)' angleu0 = c1 + c2Z1 = 3 * dIf Z1 < u0 Then u0 = Z1fu0A = u0End FunctionFunction fu0R(c1, c2, d)' rive gaucheu0 = 2 * c1 + c2Z1 = c2 + 3 * dIf Z1 < u0 Then u0 = Z1fu0R = u0End FunctionFunction fu1A(c1, c2, L1x, L1y, d)' anglePi = 4 * Atn(1)c3 = L1x - c1 / 2c4 = L1y - c2 / 2u1 = 2 * c1 + 2 * c2 + 4 * Pi * dZ1 = c1 + c2 + c3 + c4 + Pi * dIf Z1 < u1 Then u1 = Z1fu1A = u1End FunctionFunction fu1R(c1, c2, L1x, d)' rive gauchePi = 4 * Atn(1)c3 = L1x - c1 / 2u1 = 2 * c1 + c2 + 2 * Pi * d + 2 * c3Z1 = 2 * c1 + 2 * c2 + 4 * Pi * dIf Z1 < u1 Then u1 = Z1fu1R = u1End FunctionFunction Zr(c1, c2, d, bVd, Asx, Asy, fck, gc)Pi = 4 * Atn(1)a = bVdn = 20r1 = 0bor1 = 0: bor2 = 1 ' retombe maxi = 1 mFor k = 1 To 5 For i = 0 To n r = bor1 + (bor2 - bor1) * i / n d1 = d + r u1 = 2 * (c1 + c2) + 4 * Pi * d1 vRdc = fvRdc2(Asx, Asy, d1, fck, gc) b = d1 * vRdc * u1 If b > a Then GoTo 10 r1 = r Next i10 bor1 = r1: bor2 = rNext kZr = r99 End FunctionFunction Zdel(c1, c2, d, bVd, Asx, Asy, fck, gc)Pi = 4 * Atn(1)vRdc = fvRdc2(Asx, Asy, d, fck, gc)a = bVd / 2 / Pi / d / vRdcn = 20del1 = 0bor1 = 0: bor2 = 5For k = 1 To 5 For i = 0 To n del = bor1 + (bor2 - bor1) * i / n rcont = frcont(c1, c2, d, del) b = rcont If b > a Then GoTo 10 del1 = del Next i10 bor1 = del1: bor2 = delNext kZdel = del99 End FunctionFunction fvRdc2(Asx, Asy, d, fck, gc)k = 1 + Sqr(0.2 / d)If k > 2 Then k = 2rh = Sqr(Asx * Asy) / d / 10000u1 = 0.18 / gc * k * (100 * rh * fck) ^ (1 / 3)U2 = 0.035 * k ^ 1.5 * Sqr(fck)If U2 > u1 Then u1 = U2fvRdc2 = u199 End FunctionFunction fvRdc(fck, gc, Asx, Asy, dx, dy, scp)d = 0.5 * (dx + dy)rho = Sqr(Asx / dx * Asy / dy) / 10000CRdc = 0.18: k1 = 0.1k = 1 + Sqr(0.2 / d) ' d en mIf k > 2 Then k = 2vmin = 0.035 * k ^ 1.5 * Sqr(fck)vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3)If vmin > vRdc Then vRdc = vminvRdc = vRdc + k1 * scpfvRdc = vRdc99 End FunctionFunction frcont(c1, c2, d, del)u1 = 0.56 * Sqr((c1 + 2 * del) * (c2 + 2 * del))U2 = 0.69 * (c2 + 2 * del)If U2 < u1 Then u1 = U2frcont = u1 + 2 * d99 End FunctionFunction chap4(fck, gc, GVEd, c1, c2, d, Asx, Asy, dx, dy, scp)' pas d'armatures si chapiteau LH = 2dHDim T(10)Pi = 4 * Atn(1)hH0 = 0' u1 = 2 * c1 + 2 * c2 + 4 * Pi() * d' vEd = GVEd / d / u1' vRdc = fvRdc(fck, gc, Asx, Asy, dx, dy, scp)

For itour = 1 To 2If itour = 1 Then nd = 100 Else nd = 1000 For i = 1 To 210 hH = hH0 + i / nd dH = d + hH LH = 2 * hH L1 = c1 + 2 * LH: L2 = c2 + 2 * LH rcont = 0.56 * Sqr(L1 * L2) Z1 = L1 If Z1 > L2 Then Z1 = L2 If rcont > 0.69 * Z1 Then rcont = 0.69 * Z1 rcont = rcont + 2 * d ucont = 2 * Pi * rcont vEd = GVEd / (d * ucont) dxH = dx + hH: dyH = dy + hH scpH = scp * d / (d + hH) vRdc = fvRdc(fck, gc, Asx, Asy, dxH, dyH, scpH) If vEd < vRdc Then hH0 = hH - 0.01: GoTo 22 Next i22 Next itour

T(1) = hH: T(2) = vRdc: T(3) = rcont: T(4) = ucontT(5) = Int(L1 * 1000 + 0.2) / 1000: T(6) = Int(L2 * 1000 + 0.2) / 1000chap4 = macd(T, 7)

99 End FunctionFunction chap3(GVEd, c1, c2, d, vRdmax, code)' chapiteau obligatoireu0 = 2 * c1 + 2 * c2dH = GVEd / (u0 * vRdmax)LH = (GVEd / (d * vRdmax) - u0) / 8 + 0.0099LH = Int(LH * 100) / 100hH = dH - d + 0.0099hH = Int(100 * hH) / 100If code = 1 Then chap3 = hH Else chap3 = LHEnd FunctionFunction chapH2(GVEd, c1, c2, d, h, rho, scp, fck)' chapiteau de dbord = 2 hH et hH tel que dalle non armPi = 4 * Atn(1)For i = 1 To 200hH = i * 0.01dH = d + hHu1 = 2 * c1 + 2 * c2 + 4 * Pi * d + 8 * hHk = 1 + Sqr(0.2 / d)If kH > 2 Then kH = 2vRd = 0.12 * k * (100 * rho * fck) ^ (1 / 3)vmin = 0.035 * k ^ 1.5 * Sqr(fck)If vRd < vmin Then vRd = vminvRd = vRd + 0.1 * scpvEd = GVEd / u1 / dU6 = vEd / vRd - 1If vEd < vRd Then hH = U4 + (hH - U4) * U5 / (U5 - U6): GoTo 22U3 = vEd: U4 = hH: U5 = vEd / vRd - 1Next i22 chapH2 = hH99 End FunctionFunction chapHh(GVEd, c1, c2, d, h, rho, scp, fck)' chapiteau de hauteur hH tel que chapiteau non armPi = 4 * Atn(1)For i = 1 To 200hH = i * 0.01dH = d + hHu1H = 2 * c1 + 2 * c2 + 4 * Pi * dHkH = 1 + Sqr(0.2 / dH)If kH > 2 Then kH = 2rhoH = rho * d / dHscpH = scp * h / (h + hH)vRd = 0.12 * kH * (100 * rhoH * fck) ^ (1 / 3)vmin = 0.035 * kH ^ 1.5 * Sqr(fck)If vRd < vmin Then vRd = vminvRd = vRd + 0.1 * scpHvEdH = GVEd / u1H / dHchapHh = vEdH / vRd: GoTo 99U6 = vEdH / vRd - 1If vEdH < vRd Then hH = U4 + (hH - U4) * U5 / (U5 - U6): GoTo 22U3 = vEdH: U4 = hH: U5 = vEdH / vRd - 1Next i22 chapHh = hH99 End FunctionFunction chap(da, u0, ha, fck, rhoa, GVEd, Pi, CRdc, gc, scp0)d = da: h = ha For i = 1 To 10 scp = scp0 * ha / h rho = rhoa * da / d k = 1 + Sqr(0.2 / d) If k > 2 Then k = 2 vmin = 0.035 * k ^ 1.5 * Sqr(fck) + 0.1 * scp vRdc = CRdc / gc * k * (100 * rho * fck) ^ (1 / 3) + 0.1 * scp If vRdc < vmin Then vRdc = vmin u = u0 + 4 * Pi * d d = GVEd / u / vRdc h = ha - da + d Next ichap = hEnd FunctionFunction Poinc3(da, b, uoutef, d, rect1, code)' coordonnes des triers en x et y' rect1=1 : poteau pseudo-carr, rect1=2 : poteau rectangulaire prononc' a et b = cts du rectangle (si rect >= 0) avec a >=b' r1 = 0.5 d et r2 = rout - 1.5 d' maxi 58 rayons et 25 cerces mais n*nc 3 / 4 * n Then x = x + dab / 2 Else x = x - dab / 2 jj = jj + 1 If code = 1 Then T(jj) = x Else T(jj) = y Tabx(k, j) = x: Taby(k, j) = y Next jNext kUMR2 = 0If rect1 < 2 Then n0 = 1: n1 = n - 1: GoTo 42nd = Int(dab / 1.5 / d) + 1 ' cas section rectangulaire prononcen0 = n / 4 + 1: n1 = n / 2u1 = dab / ndIf u1 > UMR2 Then UMR2 = u1 ' espace entre // Oy pour poteau large For k = 1 To nd ' rayons verticaux For j = 1 To nc ' pour chaque cours priphrique x = -dab / 2 + (k - 1) * dab / nd