SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Excel etVBA,version2011
Mise à jourdu 14 octobre
La seconde partie de cette humeur,signéeBigalo,devraitêtre publiée le 2novembre.Enoutre,
Françoism’a demandé si je pouvaisenfaire d’autres.J’ai accepté avecplaisir,maisquitte àrédiger
desarticlesdemandantpasmal de préparation,je préfère lespubliersousmonnom, plutôtque sous
un pseudonyme.LesprochainsarticlesserontdoncsignésMichel Gaboly.
À bientôt!
Présentation
Un certainnombre d’habituésde Cukme connaissentdéjà,parce qu’il m’estarrivé d’intervenirdans
lescommentaires,ycomprisparfoislorsde sujetspolémiques
Toutefois,c’estlapremière humeurque j’ai le plaisirde rédiger.Elledevraitvousfaire découvrirdes
aspectsméconnusd’Excel etenparticulierlapuissance que confèreauproduitVBA (VisualBasicfor
Applications),l’environnementde développementassocié àlasuite Office.
Cette humeurestrelativementtechnique,avecde nombreusescopiesd’écran,maiscompte tenude
l’usage généraliséd’Excel danslesentreprises,j’espère qu’elle pourraintéresserpasmal de monde,
d’autantplusque monapproche d’Excel estatypique :j’ai découvertle produit,danssaversion1,fin
octobre 1985, il y a donc plusde 25 ans déjà,etj’ai toujourslargementexploitélespossibilitésde
programmationd’Excel.
Je travaillaisalorsdepuis5ansdans un cabinetd’expertise-comptable.J’avaisacquismapremière
machine,unMac 128, environ1 an plustôt,et découvertavecMultiplance qu’étaituntableur.
MultiplanexistaitalorssurApple IIetsur IBMPC,avec une interface texte.C’étaitdéjàrelativement
puissantmaistrèspeuconvivial.LaversionpourMac a été une révolutiongrâce àson interface
graphique :on pouvaitparexemple déjàélargirouréduire lalargeurdescolonnesàlasouris,etun
clicsuffisait,biensûr,pourmettre descellulesengrasouen italique.
C’étaitvraimentl’ancêtred’Excel.Lesprincipaleslimitationsétaientlatailledesfichiersque l’on
pouvaitalorsconstruire (de mémoire43 Koavec le Mac 128 et 57 Ko avecun Mac 512). Mais c’était
une autre époque :lesMac n’avaientalorspasencore de disque dur,etne comportaientqu’un
lecteurde disquettes,dontlacapacité étaitde 400 Ko.On pouvaityadjoindre unsecondlecteurde
disquettes,externe,qui coûtaitune petite fortune.Lespremiersdisquesdursapparaissaientalors,
maisétaientencore trèspeurépandus.
Ilsont commencé àlentementse démocratiseravecle Mac Plus,sorti début1986, qui a introduitle
port SCSI.
Ce pour quoi j’attendaisalorsavecimpatience de pouvoirtesterExcel étaitlaprésence annoncée
d’unlangage macro. Ce langage n’avaitrienàvoiravec VBA,apparuavec Excel 5, maispermettait
déjàénormémentde choses,ycompriscertainesque VBA ne permetpasde réaliserdirectement.
Avantd’entrerdansle vif dusujet
J’ai enfineurécemmentl’occasionde me plongersérieusementdanslesnouveautésd’Excel 2011.
Côté VBA,j’ai rencontré quelquesprogrès,maisaussi certainsbugs,dontunqui estparticulièrement
grave à mesyeux.À plusieursreprises,j’ai eudesvelléitésde rédigerune humeurpourCuk.Cette
foisj’ai franchi le pas,etenvoyé unmessage àFrançoispour lui demandersi le sujetl’intéressait.
C’étaitclairementle cas.
Le principal bugde VBA dansla version2011 d’Excel concerne lafonctionEvaluate.Celle-ci permet
d’exploiterenparticulierlesvaleursassociéesàdesnoms.Pourfaire prendre conscience aux lecteurs
à quel pointce bug estgênant,je me suisrenducompte que j’avaisbesoind’untrèslongpréambule
pour montrerà quel pointl’usage desnomspeutêtre utile,ce que l’immense majorité des
utilisateursne soupçonne pas.
Cette introductions’estavérée pluslongue que je ne l’avaispenséaudépart,car le meilleurmoyen
que j’ai trouvé pourillustrerl’intérêtdesnomsestundétourpar la paye
Pourcette raison,l’humeurcomporterafinalement2parties.Ce n’estque danslaseconde que nous
aborderonslesnouveautésd’Excel 2011, eten particulierlesbugsliésàVBA.
L’usage desnomsdans Excel
Le cas le plussimple consisteàassocierunnom à une cellule ouàune plage de cellules.Maisonpeut
égalementassocierunnomà une valeurparticulière,le plafondde sécuritésocialeparexemple,
voire à une formule.Nousallonsexaminercesdifférentscas.
À monsens,le thème permettantle mieux d’illustrerl’intérêtdesnoms,sansavoirbesoinde
construire une feuillede calcul de grande taille,estlaréalisationd’unbulletinde paye.C’esteneffet
un domaine complexe,qui estunbonexemplepourmontrercommentlesnomspeuventsimplifier
leschoses.
Il s’agitcependant,d’unsujetindigestepourcertains.Plutôtqu’abandonneràce stade la lecture de
cette humeur,sautezplutôtlesexplicationsenitalique qui suivent.
En résumé,ducontrat de travail entre l’employeuretle salarié,découle une rémunération
mensuelle,le salaire de base.Unensemble de retenues(pourmaladie,oucongéssanssolde,par
exemple) oude compléments(commelesheuressupplémentairesouune prime exceptionnelle)
conduitau salaire brut.
Doiventensuiteêtre calculéesdescotisationsdontlesbasesde calcul etlestaux varient.Ces
cotisationspeuventcomporterune partsalariale et/ouune partpatronale.Dansle cadre de cette
humeur,nousnouslimiteronsàlapartie salariale descotisations.Celles-ci sontenprincipe
déductiblesfiscalement,àl’exceptionnotable de laCRDSetd’une part importante de laCSG.
Le salaire brut,diminué desretenuescorrespondantàlapart déductible descotisations,représente
le netimposable.Celui-ci,moinsles cotisationsnondéductibles,etdifférentséléments
complémentaires,venantenplusouenmoins(partsalariale desticketsrestaurant,remboursement
de frais,… ) conduitenfinaunetà payer.
Techniquement,ce sontlesbasesde calcul desdifférentescotisationsqui représententladifficulté
essentielle.Eneffetlestaux ne sontqu’unpourcentage àentrerdansle modèle,àappliqueraux
basesconcernées.
Pourcalculercelles-ci,il fautprendre encompte le plafondURSSAF,défini annuellement,
actuellement2946 € par mois.Certainescotisations,ditesnonplafonnées,s’appliquentausalaire
brut,d’autresaux tranchesA, B et C (celle-ci ne concernantqu’unnombre infimede salariés).Enfin,
la CSG etla CRDS ont pourbase le salaire brutdiminué d’un abattementde 3% pour frais
professionnels.
La tranche A estla partie dusalaire brutinférieure ouégale auplafond.Latranche B estl’éventuelle
fractiondu salaire dépassantle plafond.Cependant,latranche Bcomporte elle-mêmeunplafond,
égal à 4 foisle plafondde latranche A, soit11 784 € par mois.La tranche B estdonc au maximum
égale à 3 foisle plafondURSSAF(éventuelle partdusalaire comprise entre 1et4 foisce plafond.
EnfinIl existe une tranche C,au-delàde latranche B, avecun plafondégal à8 foisle plafondURSSAF,
soit23 568 € par mois.Trèspeude salariéssontconcernésetnousnégligeronslescotisationsassises
sur cette tranche.Elle a égalementunautre effet:depuisle premierjanvier2011, pour lessalariés
atteignantcette tranche,l’abattementde 3% appliqué surle salaire brutpourle calcul de labase de
la CSG etde laCRDS est plafonné etne s’appliquepasau-delàduplafondde latranche B.Nous
négligeronségalementcetaspect.
En principe le calcul destranchesne se faitpas moispar mois.Il fautraisonnersurl’année civileouà
défautsurla période de présence dusalarié aucoursde l’année.Il fautdoncdéterminerlestranches
sur la base descumulsetnon surlesseulschiffresd’unmoisparticulier.Compte tenude notre sujet,
nousferonségalementl’impassesurcetaspect.
Ce que je viensde décrire correspondàlarèglementationfrançaise etpeutdésorienternosamis
suisses,maisrappelonsqu’ilne s’agitici que d’illustrerune fonctionnalité d’Excel.
Pourréaliserunbulletinde salaire avecExcel,onadonc essentiellementbesoinde connaître le
salaire brut,laliste descotisationssalariales,etpourchacune d’ellessabase etson taux.
Les taux etle plafondde latranche A sontcommuniqués parlesdifférentesadministrations(URSSAF,
et caissesde retraite principalement) audébutde chaque année,avecparfoisdesmisesàjourdes
taux en coursd’année.Nousallonsvoircommentcalculerlesbasesde calcul.
Nousallonssuccessivementréaliserunbulletinde salaire simplifié pour4cadres,Moreau,Martin,
Blanchardet Dupont,ayantrespectivementune rémunérationmensuelle de 2800, 5 000, 12 000 et
15 000 €. Pour celanousallonsdéterminerlesformulesnécessairesaucalcul desbasesdes
cotisations,puissimplifierlalecture dubulletinendéfinissantdesnoms.
Bulletinde paye 1
Fig.1 — Modèle simplifiédubulletinde Moreau,aveclaliste descotisationsetleurtaux,maisavec
desbasessousforme de texte (cellulesB11 à B24), qu’il vafalloirremplacerparlesvaleurs
correspondantes.
Pourcalculerlescotisations,nousallonsdevoircréerlesformulesdescellulesB11à B24. Pour
commencer,le plussimpleestd’entrerenB11 la formule « =E6 ».La base de calcul est le salaire
brut,comme indiqué dansl’illustrationci-dessus,etcelui-ci (2800 €) figure encelluleE6.La formule
estsimple,maisce seraitencore plusclair,si onpouvaitécrire « =Brut ». C’estheureusement
possible,ocondition,biensûrd’avoirdéfinile nom !
Commentcréerunnom
La méthode classique consiste àsélectionnerlacellule (oulaplage de cellules) que l’onveut
nommer,puisàlancer une commande dumenuInsérer.Bienque celane soitplusindiqué dansle
menu,cette commande estheureusementaccessibleparraccourci clavier.Pendantlongtemps,le
raccourci a été ⌘ + L. Il fautmaintenantutiliseràlaplace,Ctrl + L ou ⌘ + F3.
Définirunnom…
Fig.2 — L’accès à la zone de dialogue Définirunnom
Apparaît alorsune zone permettantd’entrerle nomdésiré,etde modifiersi nécessaire,ce àquoi le
nomfait référence.Si lacellule situéeimmédiatementàgauche,ou à défaut,immédiatementau-
dessusde lacellule active contientdutexte,celui-ci estexploité poursuggérerunnomà donnerla
cellule,enl’occurrence « Salaire_Brut».
Définirunnom2
Fig.3 — Le nom suggéré,etlaréférence proposée enassociationaunom, E6 étantla cellule active,
et D6 (située immédiatementàgauche de E6) contenant« Salaire Brut »
J’ai personnellementle caractère « _ » (underscore) enhorreur.À maconnaissance,il estétrangerà
la typographie française,etenoutre,je le trouve hideux !Le plussouvent,je me contente de le
supprimer,etde mettre une majuscule àchaque motcomme « SalaireBrut».Toutefois,pourun
bulletinde salaire,« Brut» suffit;le terme estd’usage courantet ne laisse place àaucune ambiguïté.
Définirunnom3
Fig.4 — Le nom modifié.Laréférence estcorrecte.
Dans la zone Faitréférence à,ontrouve « =Moreau!$E$6 ».
Moreau estle nom du salarié concerné,maissurtoutcelui de l’ongletassociéàlafeuille,comme on
peutle voir,enrouge et blanc,enbas de la figure 1.
Le pointd’exclamationestdansExcel le symbole d’appartenance.
Quant à $E$6, cela désigne lacellule E6,enprécisant qu’il s’agitd’uneréférence absolue,c’est-à-dire
que le nom entraind’être défini estindépendantde lacellule active.
« =Moreau!$E$6 » signifie donclacelluleE6de la feuilleMoreau,définiede manière absolue(par
oppositionàrelative,E6ou, à mixte,$E6 ou E$6).
Maintenantqu’ona défini unpremiernom, onva l’utiliserenentrantenB11 laformule « =Brut »,
pour faire apparaître notre première base.
Bulletinde paye 2
Fig.5 — La formule active estB11, ce que l’onpeutvérifiertoutenhautà gauche de l’illustration,et
la formule est« =Brut »,comme le montre la barre de formule (au-dessusde l’en-têtede lacolonne
B)
On a maintenantbesoinde déterminerlabase CSG. Onpourraitentrerdans lescellulesconcernées«
=Brut * 97% ».Je rappelle que les97%résultentd’unabattementde 3% pour fraisprofessionnel
évoqué plushaut.J’ai vuune formule de ce type utilisée dansunexemplede bulletinde salaire au
formatExcel téléchargeable surInternet.Une telle formule,contenantunnombre estune aberration
pour de multiplesraisons.
Le principe même d’untableurestd’avoirdescellulesavecdesvaleurs,etd’autresavecdes
formules,maisonne mélange pasles2.En voici lesprincipalesraisons:
- Si une valeur,qu’il s’agissedu coursd’une devise,dutaux d’une cotisationoude toutautre chose
doitêtre mise à jour,il fautpouvoirle faire aisément.Pourcelail fautqu’ellesoitstockée dansune
cellule indépendante,afinde pouvoirlarepérervisuellementsansdifficulté.On metalorsà jourla
cellule concernée,ettouteslescellulesqui sontliéesàl’élémentqui vientd’être misàjourseront
recalculées.
- Si au contraire on entre une valeurauseind’une formule,comme dans« =Brut * 97% », le jourou
l’abattementserasupprimé ousontaux modifié,il faudrapourcorrigerle modèle de bulletinde
salaire repérertouteslescellulescontenantlaformule àadapter,ici 3 cellules,B12,B23 et B24. Dans
le cas d’unbulletin,pourpeuqu’onaitcréé unmodèle de classeuravec12 onglets,(1par mois),ce
ne sont plus3 mais 36 formulesqui devrontêtre corrigées.Pourpeuqu’onenoublie 1,voire plus,le
modèle ne seraplusfiable,etce qui accentue le problème,cette perte de fiabilité ne serapas
flagrante.
- Enfin,si ensaisissantune valeurdansune formule,onfaitune faute de frappe,làencore,onaura
un résultaterroné sansmême enêtre conscient,tandisqu’enayantutilisé une cellule spécifique
pour entrerlavaleur,l’effetd’unefaute de frappe estclairement repérable.
À mesyeux,une valeurintégrée àune formule estune faute professionnelle.Une telle formule doit
être taboue.J’ai décritici unexemple détailléde résultataberrantrésultantd’une formule de ce
type.
Le coefficientde 97%permettantde déterminerlabase CSGà partirdu brut doitdoncêtre stocké
explicitementdansune cellule.Ni cette valeurni le plafondn’ontàapparaître sur le bulletin.On
pourraitdéfinirune zone d’impressionetlesstockeràl’extérieurde celle-ci,maisil estsouventplus
simple de grouperlesélémentsde cette nature dansune feuillespécifique,appeléeici Param
(diminutif de paramètres).
Zone de noms1
Fig.6 — Le taux permettantde détermineràpartir dusalaire brut,la base de calcul de laCSG
Une foisentré le taux de 97% en cellule C6,il fautcréerle nomcorrespondant.Pourallonsvoir
commentle faire sanspasserpar le dialogue Définirunnom…,de lafigure 3. La figure 7 illustre la
barre de formules,telle qu’elleapparaîtenfigure 6, c’est-à-dire « Param» lafeuille active,etC6la
cellule active.Labarre comporte à sonextrémité gauche,une zoneallongée avecensoncentre « C6
»,l’adresse de lacellule.Cette zone se nomme lazone de noms,etpermetde faire pasmal de
choses.
Zone de noms1
Fig.7 — La barre de formules,telle qu’ellese présente quandlacellule C6de la feuille « Param» est
active.Il s’agitd’undétail (lapartie supérieure),de lafigure 6.
Tout d’abord,si on clique danslazone de noms,elle se transforme ainsi :
Zone de noms2
Fig.8 — La barre de formules,aprèsqu’onaitcliqué danslazone de noms(àson extrémitégauche),
C6 étanttoujourslacellule active.
On se rendcompte que la zone de nomsest une zone éditable. L’adressede lacelluleest
sélectionnéeetseraécrasée parle texte que l’onvasaisir.Il suffitalorsd’entrer« TxBaseCSG»,etde
valideravecl’une destouchesEntrée ouRetour.Lazone de nomsse présente dorénavantainsi :
Zone de noms3
Fig.9 — La barre de formules,aprèsqu’onaitentré « TxBaseCSG» dansla zone de noms,C6 étant
toujourslacellule active.
Le texte entré aremplacé l’adressede lacellule,etunnoma été créé et associé àla cellule C6,
comme on peutaisémentle vérifierenpassantparDéfinirunnom…:
Définirunnom4
Fig.10 — Contrôle que le nomdéfini enpassantparlazone de noms,a bienété prisencompte.
La zone de nomspermetdoncde nommerextrêmementfacilementune plage de cellules(une
unique cellule n’enétantqu’uncasparticulier).Il suffitde sélectionnerlaplage concernée,puis
d’entrerle nomsouhaité.Celane fonctionne toutefoisque si le nomn’existepasdéjà.Alorsque en
passantpar le dialogue Définirunnom…,il n’ya pas cette contrainte.Si onrecrée un nomdéjà
utilisé,l’occurrence antérieure seradétruite,seuleladernièreréférence associéeaunomsera
valable.
Nousallonsutilisercette facilité qu’offrelazone de noms,pourcréer3 nomssupplémentaires
associésrespectivementaux cellulesC2,C3 etC4 de la feuille « Param»,pour le plafonddes
tranchesA, B etC. Il resteraensuite,pourcompléterlafeuille Param, àcalculer lesplafondsdes
tranchesB et C, enmultipliantle celui de latranche A,par le coefficientcorrespondant,encolonneB.
Pource faire,latechnique la+ rapide consiste àsélectionnerlescellulesC3etC4, à entrerlaformule,
et à validerenune seule fois,grâce àl’emploi conjointdestouchesCtrl etRetour:
PlafondstranchesBet C
Fig.11 — La formule permettantde calculerle plafondde latranche B.En ayantpréalablement
sélectionné les2cellulesC3etC4, et envalidantavecCtrl + Retour, on obtientles2plafondsenune
seule manip.Laformule présente enC4faitbienévidemmentréférence àB4 etnon à B3 (référence
relative).
Aprèsavoirvalidé laformule,cliquerdanslazone avec2 flèches(au-dessusducurseur,surla figure
12), permetd’illustrerencore une autre fonctionnalitéde lazone de noms: elle permetde listerles
plagesqui ontété nomméesde manière explicite.Enoutre,si onclique surl’undesnomsde la liste,
la plage correspondante estautomatiquementsélectionnée. C’estextrêmementpratique pourles
tableaux de grande taille (plusieurscentainesoumilliersde lignes).Avoirnommé lesprincipales
zonespermetalorsde se déplaceraisémentmalgré lataille dutableau.
Plagesnommées
Fig.12 — La zone de nomspermetégalementde listerdeszonesnommées,etd’yaccéderenles
choisissantsimplementdanslaliste déroulante.
Le déplacementn’estpaslimitéàlafeuilleactive.Si onclique sur« Brut »,on passe de la feuille«
Param » à la feuille « Moreau» :
Zone de noms2
Fig.13 — La cellule nommée « Brut»,sur la feuille« Moreau».On y a accédé enla choisissantdans
la liste de lafigure 12.
La zone de nomsoffre encore d’autrespossibilités:si onsélectionneàlasourisune plage
comportantau moins 2 cellulescontigües,pendanttoute laphase de sélection,lazone de noms
indique le nombre de lignesetde colonnessélectionnéesàtoutinstant.L’information,éphémère,
cesse d’être affichée dèsqu’onlâche le boutonde lasouris.C’estune aide précieuse lorsqu’ona
besoinde sélectionnerunnombre précisde ligneset/oude colonnes:
Zone de noms3
Fig.14 — Lors de la sélectiond’uneplage comportantaumoins2cellulescontigües,lazone de noms
indique précisémentle nombrede lignesetde colonnessélectionnées,ici « 6L x 2C », pourdésigner
un rectangle de 6 lignespar2 colonnes.
Enfin,dansla figure 11, lazone de nomsaffiche lafonctionSOMME.Dès lorsqu’onestentrain de
saisirune formule (commençantparle signe égale,ce ne sontpluslesnoms,maisles10 dernières
fonctionsutiliséesqui sontlistéessi onclique surlesflèchesindiquéesparle curseursurla figure 12.
Aprèscette longue digressionsurlazone de noms,revenons — enfindirontcertains — aucalcul de
nos base de cotisations.Pourlabase CSG encellule B12du bulletin,il suffitde multiplierle brutpar
le taux correspondant,ce que faitla formule de lafigure 15 :
Formule bulletinenB12
Fig.15 — Formule permettantde calculerlabase CSG.
Jusqu’àprésent, ons’estcontenté d’utiliserdesnomscorrespondantchacunàune cellule.L’étape
suivante vaassocierdesformulesaux noms:Pourla tranche A, il s’agitde la partie duBrut inférieure
ou égale auplafond.Chacune de cesvaleursétantassociée àunnom, la solutionpourdébutant
consiste àutiliserlafonctionSI().Voici sasyntaxe,pourceux qui ne laconnaissentpas:
=SI(Condition;Résultatsi conditionremplie;Résultatdansle cas contraire)
Celasignifiequ’il fautlui fournir3arguments:
- La conditionàtester
- Le résultatàaffichersi laconditionestremplie
- Le résultatàaffichersi laconditionn’estpasremplie
Celadonneraitici :
=SI(Brut< PlafondTrA;Brut;PlafondTrA)
Celafonctionne maisrisquede devenircompliquéquandil s’agirade déterminerlestranchesBetC.
En outre,il existe une fonctionbienmieux adaptée,MIN() pourminimum.Latranche A sera ainsi
définie :
Formule bulletinenB12
Fig.16 — Cette fois,le nomdéfinin’estpasassocié àune cellule,maisàune formule.
Quant à la tranche B, c’estla fractionduBrut qui dépasse le plafondde latranche A.En première
approximation,ce serait:
= Brut - PlafondTrA
Toutefois,si le salaire Brutestinférieurauplafondde latranche A (2 946 €), ce qui estle cas ici,il n’y
a pas lieud’aboutiràune tranche B négative.Nousavonsprécisé plushaut,que nousnousplacions
dans uncas simplifiéoùonraisonne surles seulesdonnéesdumoisencours,alorsqu’il peuten
réalité yavoirdesrégularisations,caril fauten réalité raisonnersurlescumulsdepuisle 1erjanvier
(oul’entrée dusalarié dansl’entreprise s’il estarrivé encoursd’année).Onconsidéreraici qu’il s’agit
d’unbulletinde janvier,etque doncaucune régularisationn’estnécessaire.LafonctionMAX() va
nouspermettre d’éviterlesvaleursnégatives,enprenantzérosi ladifférence estnégative :
=MAX(0;Brut - TrancheA)
S’il ya effectivement une tranche B,il faut égalementprendre encompte sonplafond;elle ne peut
être supérieure àladifférence entre lesplafondsdestranchesA etB, soit3 foisle plafondde la
tranche A. Voici laformule complètepourlatranche B :
=MIN(PlafondTrB- PlafondTrA;MAX(0;Brut - TrancheA))
Ce plafonnementaveclafonctionMIN() ne concerne qu’une infime minorité de salariés,maisil faut
tout de même entenircompte.
Formule bulletinenB12
Fig.17 — Formule permettantde déterminerlatranche B.MalheureusementdanslesversionsMac
d’Excel,lafenêtre n’estpasredimensionnable,etne permetde voirqu’une partie de laformule.
La formule esttroplongue pourêtre intégralementvisible danslafenêtreDéfinirunnom…C’estune
desdéceptionsd’Excel 2011 : depuislaversion2007, lesversionsWindowsd’Excelpermettent
d’agrandirsanslimitationcette fenêtre,qui pardéfautestridiculementpetite.Une autre
fonctionnalité,trèsutile aégalementété introduite avecExcel 2007, la possibilitéd’associerà
chaque nomun commentaire.Malheureusementces2élémentssonttoujoursabsentsde laversion
2011 pour Mac ;-((
Le calcul de la tranche C est comparable àcelui de la tranche B :
=MIN(PlafondTrC - PlafondTrB;MAX(0;Brut - TrancheA - TrancheB))
A ce stade il reste à remplacerle texte indicatifentré encolonne Bpardesformulesfaisantappel aux
noms,selonune substitutiontrèssimple :
=Brut * TxBaseCSGau lieude « Base CSG ». On auraitd’ailleurspudéfinirle nom« Base CSG »
associé à cette formule.Pourêtre toutà faitcorrect,il faut tenircompte que l’abattementde 3% est
supprimé au-delàde latranche B. En négligeantlestrèsraressalariésdépassantlatranche C(prèsde
300 000 € par an),la formule correcte est(TrancheA +TrancheB) * TxBaseCSG+ TrancheC,et cela
vaut lapeine de lui associerle nom« BaseCSG»
=TrancheA au lieude « Tranche A ».
=TrancheB au lieude « Tranche B ».
=TrancheA + TrancheBau lieude « Tranche A + Tranche B ».
À part la première formule,il suffitd’ajouterle signe égale etde supprimerlesespacesauseinde «
Tranche A » et de « Tranche B »,car ceux-ci ne sontpasautorisésdanslesnoms.
Maintenantque lesbasessontentrées,onpeutmettre enplace le calcul descotisations.Si nous
l’avionsfaittroptôt,nousaurionsobtenudesvaleursd’erreur,carlesnomsn’étaientpasencore
définis.EnD11 par exemple,pouravoirle montantde lacotisationcorrespondante,onauraitpu
entrersimplement« =B11 * C11 ».Les espacesauseinde la formule sontfacultatifs,maisaméliorent
la lisibilité. Cette formuleauraitpuensuite être recopiéeversle basjusqu’enD17 pourles
cotisationsfiscalementdéductibles,etreprise enC23et C24 pourlescotisationsnondéductibles.Ici
encore,définir2noms va rendre lesformulesbien+lisibles:sélectionnonslaplage B11:B24 et
associons-luile nom« Base »,grâce à lazone de noms.
Bulletinde paye 3
Fig.18 — Définitionde laplage Base
Répétonsl’opérationaveclaplage C11:C24 et le nom« Tx ».Maintenantque touslesnoms
nécessairesontété définis,il suffitd’entrerdanslescellulesD11:D17 et D23:D24, la simple formule«
= Base * Tx », etlescotisationssontcalculées,enutilisantpourchacune,labase etle taux situéssur
la même ligne,sansindicationsupplémentaire :
Bulletinrempli 1
Fig.19 — Un premierexemple de bulletinsimplifiémaisfinalisé!
Le premierbulletinfaisaitapparaître une base nullepourlaretraite complémentaire tranche B,et
aucune descotisationsn’étaitplafonnée.C’estnormal,carle salaire brut(2 800 €) étaitinférieurau
plafondde latranche A (2 946 €) pour 2011. Si on faitpasserle salaire brutà 5 000 €, lescotisations
assisessurla tranche A sontplafonnées,etune tranche Bapparaît, égale à 2 054 (cellule B17).
Bulletinrempli 2
Fig.20 — Dans ce deuxième exemple,de latranche Bapparaît, car le salaire brutdépasse le plafond
de la tranche A.
En portant le brutà 12 000 €, on dépasse le plafondde latranche B.Le total destranchesA etB est
égal à ce plafond(cf.figure 12).Lestranchessemblentdonccorrectementcalculées.
Bulletinrempli 3
Fig.21 — Avecce troisièmebulletin,le brutdépasse 4foisle plafondde latranche A.Celaa pour
conséquence que latranche A atteintsonplafondetlatranche B estégale à 3 foisce plafond.Le
total des2, qui sertde base de cotisationpourle chômage estbienégal auplafondde latranche B,
tel qu’il apparaîtsur la feuille « Param»,en figure 12.
Enfin,si on faitpasserlarémunérationtotale à15 000 €, soit3 000 de plus,on constate que labase
augmente elle aussidumême montant,ce qui prouve que lasuppressionde l’abattementde 3%
pour le calcul de la base CSG, au-delàduplafondde latranche B fonctionne également.
Bulletinrempli 4
Fig.22 — Un dernierbulletinpermetde vérifierle boncalcul de labase CSG.
La suite auprochainépisode …
Bigalo
18 commentaires
Eh ben,dis!
Si ce n’estpas duprécis,ça…
Merci beaucoup.Je pense que pasmal de gensvontse référeràton article lorsqu’ilsenauront
besoin.
Bienvenuedonc!
Alorsça, je kiffe :)
C’estclair,netet précis! Quelquechose qui me seratrèsutile!
Merci beaucouppourl’article etbienvenue danscélébrissimeCRC(ClubdesRédacteurs-tricesde
Cuk)!!
Bravo pourcet article si bienécrit!
Effectivement,je m’yréféreraiaumomentvoulu.
WOW. Et bienje suiscontentde ne faire desfichesde salaires –pourl’instant– qu’enSuisse…Bravo
pour cetarticle complet.
Merci à tous pources 4 premièresréactions,toutespositives;-)) etaussi pourl’accueilparmi lesCRC
!
Si vous avezdesquestionstechniques,n’hésitezsurtoutpas.
Félicitationspourcette pédagogie !
J’espère àprésentune humeursurlestableaux croisésdynamiques!
Biensénégalaisement,
Un immense BRAVOpourlaqualité de cetarticle.Il allie rigueur,facilité de compréhensionetmême
une petite pointe d’humour,ce qui n’estpasforcémentévident.
Bravo pourta première humeurBigaloetbienvenue dansle clubdesrédacteurs:)
ConcernantVBA dansExcel 2011, c’estextrêmementdécevantde réaliserque Microsoftn’apas
respecté lacompatibilité avecle VBA de Excel Xni même avecle VBA de Excel Windows!
Le diable estdansle détail maisil ya quelquesfonctionsouconstantesVBA qui ontlégèrement
changé de nomsoulégèrementchangé de résultat,ce qui rendincompatible ducode VBA unpeu
sophistiqué…
Mais je devance ta seconde partie…
La formule estsimple,maisce seraitencore plusclair,si onpouvaitécrire « =Brut ».
Concernantla1ère partie,je t’avoue que,àtort ouà raison,je ne suispas ungrand fan de nommer
lesplagesde cellules…
Personnellement,je trouve qu’onyperdvite sonlatinaveclesnomsetque lesréférencesde cellules
permettentde facilementcontrôlerque lescopier/collerde formulesse fontcomme onle souhaite…
Et pourtant je travaille aussi surde grandstableaux (dizainesde colonne etcentainesde lignes).Je
pense enfaitque le nommage de plagesdoitêtre adapté àun type de tableauoud’usage etqu’il
n’estpasla solutionmiracle pourtout;)
En tout cas, beauboulotexplicatif etpédagogique :) Merci
Félicitationspourcette pédagogie !
J’espère àprésentune humeursurlestableaux croisésdynamiques!
Biensénégalaisement,
Merci pourlesfélicitations.
En ce qui concerne lesTCD (lestableaux croisésdynamiques),je n’ensuispasunchaudpartisan.
Ceci dit,ma positionestbiaisée :quandlesTCD sontapparus(avecExcel 4 peut-être ?),celafaisait
déjàde nombreusesannéesque je réalisaisdesmacros.J’ai alorsregardé brièvementcommentcela
fonctionnait,maisn’ai pasété enthousiasmé.
En particulier,j’ai trouvé que celamanquaitde souplesse quantàlamise enforme.
Par programmation,onpeutréaliserassezfacilementce que fontlesTCD,sansavoirà subirleurs
limitations.Parconséquent,àtitre personnel,lesTCDne m’apportaientpasgrand-chose.
Toutefois,je conçoisque pourunutilisateur« normal »,lesTCD sontun outil puissant,qui fournit
dessynthèsessansdevoirfaire d’autre effortqu’apprendre àmaîtriserlesTCD.
Une humeurlesconcernant ne me tente pasbeaucoup.Toutefois,ce qui seraitenvisageable,estune
humeursur1 desnombreusesfonctionsméconnuesd’Excel,<acronymtitle=»
»>SOMMEPROD</acronym> qui estselonmoi plussimple àmaîtriserque lesTCD,etpermet
d’obtenirtoutce qui se fait classiquementaveceux.
Superarticle merci.
Pas de chance,j’auraisaussi aimé une suite sur… lestableaux croisésdynamiques;-(
Merci @ Bigalo,
Je suisrassuré sur le caractère nonindispensabledesTCD,etd’accordsur leurmise enforme
problématique…
Quant à moi,je suisunminuscule utilisateurd’Excel,etle peuque j’enconnaisme permet,après
extractionde quatre fichiersde sortirenmoinsd’une heure15 synthèsesettableaux de bord
budgétaires…
Le pluslonga été de figerunmodèle fiable,ettouteslesformulesqui vontbien,eteffectivement,
j’arrive àproduire destableaux dontje soigne particulièrementlaforme (ce que ne permettraitpas
un TCD)
Je me suisamusé à listerlesfonctions,etsymbolesemployésàcette fin,etil yena trèspeu,enfait,
trèsbasiques:
=SOMME.SI
=SOMME
=SOUS.TOTAL(9
=SOUS.TOTAL(3
=STXT
=SI
=GAUCHE
=MOIS
=RECHERCHEV
symbole $
symbole &
Riende plus!
Biensénégalaisement,
Bravo etn’hésitezpasàcontinuerdansde prochainsarticlesà noustransmettre votre savoiren
matière d’Excel.
Même quandon utilise souventce logiciel,il recèle despanscachésqu’il estagréablede découvrir
de façon aussi claire etdétaillée.
Bravo pourta première humeurBigaloetbienvenue dansle clubdesrédacteurs:)
ConcernantVBA dansExcel 2011, c’estextrêmementdécevantde réaliserque Microsoftn’apas
respecté lacompatibilité avecle VBA de Excel Xni même avecle VBA de Excel Windows!
Merci pourla bienvenue.
Je voisque tu citesExcel X etnon Excel 2004. Toi aussi,tuconsidères(c’estmoncas) que pourVBA,
la version2004 étaittropinstable ettropbaguée,comme le laisse pensercette page ?
Concernantla1ère partie,je t’avoue que,àtort ouà raison,je ne suispas ungrand fan de nommer
lesplagesde cellules…
Sur ce plan,il y a probablementune partde personnalitéqui faitapprécierplusoumoinsl’usage des
noms.« Desgoûtset descouleurs!»
Personnellement,je trouve qu’onyperdvite sonlatinavecles nomsetque lesréférencesde cellules
permettentde facilementcontrôlerque lescopier/collerde formulesse fontcomme onle souhaite…
Un des moyensde ne pasy perdre sonlatinestde collerrégulièrementlaliste desnomsdansune
feuille:
Comme tu le saissansdoute,maispas forcémenttoutle monde,onyaccède de la même façonque
pour définirunnom(figure 2),enchoisissantsimplementl’optionsuivante,« Coller…».
Voici le résultatdansle casde notre bulletinsimplifié:
Celapermetde s’assurerque lesdéfinitionssontsatisfaisantes.Ce qui estpratique,enmatière de
contrôle,parrapport aux formulesd’untableau,c’estque touteslesinfossontgroupéesdansune
zone unique de 2 colonnes.Pardéfautlesnomssontcassésparordre alphabétique,maisrien
n’empêche d’utilisercomme critère de tri laseconde colonne.
Je n’ai pas encore eule tempsde lire l’article,maisvule bienqu’onendit,je ne tarderai pas…
En parlantde tableurs“ancêtres”,je voudraisrendre hommage aux développeursde CricketGraph:
l’applicationadû être développée aumilieudesannées80,et elle fonctionnaitencore parfaitement
jusqu’àladernière mise-à-jourdusystème OS9,en2001.
Les programmeursavaientdûeffectueruntravail d’orfèvre pourarriveràune telle perfection…
J’utilisebeaucouplesnomspournommerlesplagesde cellules.C’estparticulièrementutile qu’onest
oblige d’ajouteroude retirerdeslignesaune plage donnée,etque parlasuite une macro vient
manipulercette plage.Dansce cas lamacro utilise le nomde laplage toutsimplement.J’utilise
beaucoupde choix surliste,pourceux qui ne connaissentpas,celapermetfaire apparaitre une liste
déroulante dansune cellule.Ceslistesévoluentavecle temps(ajoutouretraitde donnée).Le faitde
nommerceslistespermetde s’affranchirde leurséventuellesredimentionnement.Danscesdeux cas
nommerdesplagesde cellulespermetde solutionnersimplementdesproblèmesdifficilesarégler
autrement.
Merci pource billettrèsintéressant.Je suisutilisateur(occasionnel àvrai dire) d’Excel depuisles
toutespremièresversionsetj’ai toujourstrouvé ce logiciel puissantettrèsbienfait.Il s’agitpourmoi
d’une desraresréussitesabsolumentincontestablesde Microsoft.
VBA estun outil puissant,que j’ai apprissurle tas.Je suistoujourspreneurd’infospourcompléter
mesconnaissancesàce sujet.J’attendsdonclasuite avecimpatience.
Je voisque tu citesExcel X etnon Excel 2004. Toi aussi,tuconsidères(c’estmoncas) que pourVBA,
la version2004 étaittropinstable ettropbaguée,comme le laisse pensercette page ?
Nonen fait,je ne suisjamaispassé à Office 2004, 2008… En fait,j’ai gardé Office Xjusqu’en2008
date à laquelle j’ai basculépourOpenOffice puisdésormaispourLibre Office.
Euh… pourquoi tufaispas toutça directementenSQL?:o)
Boutade mise àpart, très bonarticle,pleinde conseilsfrappésaucoindubon sens.
Excel c’estun vrai bonheurà utiliser,etj’ai été biencontent de constaterlaréintroductiondes
macros dansla dernière version.Parcontre ce logiciel esttellementpuissantqu’onse metvite àfaire
n’importe quoi,doncil fautunminimumde discipline si onveutque lestableaux soient
compréhensiblespard’autresutilisateursque l’auteur.
Ajouteruncommentaire – Alerte pare-mail

Mais conteúdo relacionado

Destaque

Creando La Realidad 94
Creando La Realidad 94Creando La Realidad 94
Creando La Realidad 94paquitaguapa
 
Autoestima femenina
Autoestima femeninaAutoestima femenina
Autoestima femeninaV Sanchez
 
EL CAMBIO
EL CAMBIOEL CAMBIO
EL CAMBIOastuto
 
Keynote Basta 2013: Dick im Geschäft: Windows Store Apps im Enterprise
Keynote Basta 2013: Dick im Geschäft: Windows Store Apps im EnterpriseKeynote Basta 2013: Dick im Geschäft: Windows Store Apps im Enterprise
Keynote Basta 2013: Dick im Geschäft: Windows Store Apps im EnterpriseThomas Claudius Huber
 
Google analytics TV Pública - 2010 septiembre
Google analytics TV Pública - 2010 septiembreGoogle analytics TV Pública - 2010 septiembre
Google analytics TV Pública - 2010 septiembreRamiro Nahuel Pol
 
"Ruby Mola (y por que)" por The Cocktail
"Ruby Mola (y por que)" por The Cocktail"Ruby Mola (y por que)" por The Cocktail
"Ruby Mola (y por que)" por The CocktailEnrique Place
 
DóNde Localizar La Url De Mi Mapa
DóNde Localizar La Url De Mi MapaDóNde Localizar La Url De Mi Mapa
DóNde Localizar La Url De Mi Mapasmestref
 
Para Mi Papi!!!!
Para Mi Papi!!!!Para Mi Papi!!!!
Para Mi Papi!!!!vfabrizzio
 
Hoyhedespedidoamibecario
HoyhedespedidoamibecarioHoyhedespedidoamibecario
Hoyhedespedidoamibecariopaquitaguapa
 
Cotylorhiza tuberculata
Cotylorhiza tuberculataCotylorhiza tuberculata
Cotylorhiza tuberculatasmestref
 
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...elizabeth cinthya garcia caceres
 

Destaque (20)

Creando La Realidad 94
Creando La Realidad 94Creando La Realidad 94
Creando La Realidad 94
 
Autoestima femenina
Autoestima femeninaAutoestima femenina
Autoestima femenina
 
WQ
WQWQ
WQ
 
EL CAMBIO
EL CAMBIOEL CAMBIO
EL CAMBIO
 
Keynote Basta 2013: Dick im Geschäft: Windows Store Apps im Enterprise
Keynote Basta 2013: Dick im Geschäft: Windows Store Apps im EnterpriseKeynote Basta 2013: Dick im Geschäft: Windows Store Apps im Enterprise
Keynote Basta 2013: Dick im Geschäft: Windows Store Apps im Enterprise
 
Actividad 6
Actividad 6Actividad 6
Actividad 6
 
Tuquito Gnu/Linux - UNTREF
Tuquito Gnu/Linux - UNTREFTuquito Gnu/Linux - UNTREF
Tuquito Gnu/Linux - UNTREF
 
Google analytics TV Pública - 2010 septiembre
Google analytics TV Pública - 2010 septiembreGoogle analytics TV Pública - 2010 septiembre
Google analytics TV Pública - 2010 septiembre
 
Diana revista.pptx2
Diana revista.pptx2Diana revista.pptx2
Diana revista.pptx2
 
"Ruby Mola (y por que)" por The Cocktail
"Ruby Mola (y por que)" por The Cocktail"Ruby Mola (y por que)" por The Cocktail
"Ruby Mola (y por que)" por The Cocktail
 
DóNde Localizar La Url De Mi Mapa
DóNde Localizar La Url De Mi MapaDóNde Localizar La Url De Mi Mapa
DóNde Localizar La Url De Mi Mapa
 
Weblogs
WeblogsWeblogs
Weblogs
 
DENUNCIA INFANTIL
DENUNCIA INFANTILDENUNCIA INFANTIL
DENUNCIA INFANTIL
 
Para Mi Papi!!!!
Para Mi Papi!!!!Para Mi Papi!!!!
Para Mi Papi!!!!
 
Jésus dans ma vie
Jésus dans ma vieJésus dans ma vie
Jésus dans ma vie
 
Hoyhedespedidoamibecario
HoyhedespedidoamibecarioHoyhedespedidoamibecario
Hoyhedespedidoamibecario
 
ComSoc 5
ComSoc 5ComSoc 5
ComSoc 5
 
Cotylorhiza tuberculata
Cotylorhiza tuberculataCotylorhiza tuberculata
Cotylorhiza tuberculata
 
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...INTRODUCCIÓN A LA INFORMÁTICA:LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
INTRODUCCIÓN A LA INFORMÁTICA: LAS NUEVAS TECNOLOGÍAS DE LA COMUNICACIÓN E IN...
 
Victimologia del desenvolupament: incidència i repercussions...
Victimologia del desenvolupament: incidència i repercussions...Victimologia del desenvolupament: incidència i repercussions...
Victimologia del desenvolupament: incidència i repercussions...
 

Semelhante a Excel et vba

L'intégration d'e-mails responsive
L'intégration d'e-mails responsiveL'intégration d'e-mails responsive
L'intégration d'e-mails responsiveHTeuMeuLeu
 
Office_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdfOffice_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdfOpenWorld
 
Pourquoi Excel n’affiche pas les zéros devant des nombres ?
Pourquoi Excel n’affiche pas les zéros devant des nombres ?Pourquoi Excel n’affiche pas les zéros devant des nombres ?
Pourquoi Excel n’affiche pas les zéros devant des nombres ?Votre Assistante
 
Un CV qui vous ressemble ?
Un CV qui vous ressemble ?Un CV qui vous ressemble ?
Un CV qui vous ressemble ?Gaëtan ROBINE
 

Semelhante a Excel et vba (9)

Initiation excel1
Initiation excel1Initiation excel1
Initiation excel1
 
Initiation excel1
Initiation excel1Initiation excel1
Initiation excel1
 
L'intégration d'e-mails responsive
L'intégration d'e-mails responsiveL'intégration d'e-mails responsive
L'intégration d'e-mails responsive
 
Excel2007
Excel2007Excel2007
Excel2007
 
Office_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdfOffice_2019_pour_les_Nuls.pdf
Office_2019_pour_les_Nuls.pdf
 
Pourquoi Excel n’affiche pas les zéros devant des nombres ?
Pourquoi Excel n’affiche pas les zéros devant des nombres ?Pourquoi Excel n’affiche pas les zéros devant des nombres ?
Pourquoi Excel n’affiche pas les zéros devant des nombres ?
 
Un CV qui vous ressemble ?
Un CV qui vous ressemble ?Un CV qui vous ressemble ?
Un CV qui vous ressemble ?
 
Excel2007
Excel2007Excel2007
Excel2007
 
Excel2007
Excel2007Excel2007
Excel2007
 

Excel et vba

  • 1. Excel etVBA,version2011 Mise à jourdu 14 octobre La seconde partie de cette humeur,signéeBigalo,devraitêtre publiée le 2novembre.Enoutre, Françoism’a demandé si je pouvaisenfaire d’autres.J’ai accepté avecplaisir,maisquitte àrédiger desarticlesdemandantpasmal de préparation,je préfère lespubliersousmonnom, plutôtque sous un pseudonyme.LesprochainsarticlesserontdoncsignésMichel Gaboly. À bientôt! Présentation Un certainnombre d’habituésde Cukme connaissentdéjà,parce qu’il m’estarrivé d’intervenirdans lescommentaires,ycomprisparfoislorsde sujetspolémiques Toutefois,c’estlapremière humeurque j’ai le plaisirde rédiger.Elledevraitvousfaire découvrirdes aspectsméconnusd’Excel etenparticulierlapuissance que confèreauproduitVBA (VisualBasicfor Applications),l’environnementde développementassocié àlasuite Office. Cette humeurestrelativementtechnique,avecde nombreusescopiesd’écran,maiscompte tenude l’usage généraliséd’Excel danslesentreprises,j’espère qu’elle pourraintéresserpasmal de monde, d’autantplusque monapproche d’Excel estatypique :j’ai découvertle produit,danssaversion1,fin octobre 1985, il y a donc plusde 25 ans déjà,etj’ai toujourslargementexploitélespossibilitésde programmationd’Excel. Je travaillaisalorsdepuis5ansdans un cabinetd’expertise-comptable.J’avaisacquismapremière machine,unMac 128, environ1 an plustôt,et découvertavecMultiplance qu’étaituntableur. MultiplanexistaitalorssurApple IIetsur IBMPC,avec une interface texte.C’étaitdéjàrelativement puissantmaistrèspeuconvivial.LaversionpourMac a été une révolutiongrâce àson interface graphique :on pouvaitparexemple déjàélargirouréduire lalargeurdescolonnesàlasouris,etun clicsuffisait,biensûr,pourmettre descellulesengrasouen italique.
  • 2. C’étaitvraimentl’ancêtred’Excel.Lesprincipaleslimitationsétaientlatailledesfichiersque l’on pouvaitalorsconstruire (de mémoire43 Koavec le Mac 128 et 57 Ko avecun Mac 512). Mais c’était une autre époque :lesMac n’avaientalorspasencore de disque dur,etne comportaientqu’un lecteurde disquettes,dontlacapacité étaitde 400 Ko.On pouvaityadjoindre unsecondlecteurde disquettes,externe,qui coûtaitune petite fortune.Lespremiersdisquesdursapparaissaientalors, maisétaientencore trèspeurépandus. Ilsont commencé àlentementse démocratiseravecle Mac Plus,sorti début1986, qui a introduitle port SCSI. Ce pour quoi j’attendaisalorsavecimpatience de pouvoirtesterExcel étaitlaprésence annoncée d’unlangage macro. Ce langage n’avaitrienàvoiravec VBA,apparuavec Excel 5, maispermettait déjàénormémentde choses,ycompriscertainesque VBA ne permetpasde réaliserdirectement. Avantd’entrerdansle vif dusujet J’ai enfineurécemmentl’occasionde me plongersérieusementdanslesnouveautésd’Excel 2011. Côté VBA,j’ai rencontré quelquesprogrès,maisaussi certainsbugs,dontunqui estparticulièrement grave à mesyeux.À plusieursreprises,j’ai eudesvelléitésde rédigerune humeurpourCuk.Cette foisj’ai franchi le pas,etenvoyé unmessage àFrançoispour lui demandersi le sujetl’intéressait. C’étaitclairementle cas. Le principal bugde VBA dansla version2011 d’Excel concerne lafonctionEvaluate.Celle-ci permet d’exploiterenparticulierlesvaleursassociéesàdesnoms.Pourfaire prendre conscience aux lecteurs à quel pointce bug estgênant,je me suisrenducompte que j’avaisbesoind’untrèslongpréambule pour montrerà quel pointl’usage desnomspeutêtre utile,ce que l’immense majorité des utilisateursne soupçonne pas. Cette introductions’estavérée pluslongue que je ne l’avaispenséaudépart,car le meilleurmoyen que j’ai trouvé pourillustrerl’intérêtdesnomsestundétourpar la paye Pourcette raison,l’humeurcomporterafinalement2parties.Ce n’estque danslaseconde que nous aborderonslesnouveautésd’Excel 2011, eten particulierlesbugsliésàVBA. L’usage desnomsdans Excel
  • 3. Le cas le plussimple consisteàassocierunnom à une cellule ouàune plage de cellules.Maisonpeut égalementassocierunnomà une valeurparticulière,le plafondde sécuritésocialeparexemple, voire à une formule.Nousallonsexaminercesdifférentscas. À monsens,le thème permettantle mieux d’illustrerl’intérêtdesnoms,sansavoirbesoinde construire une feuillede calcul de grande taille,estlaréalisationd’unbulletinde paye.C’esteneffet un domaine complexe,qui estunbonexemplepourmontrercommentlesnomspeuventsimplifier leschoses. Il s’agitcependant,d’unsujetindigestepourcertains.Plutôtqu’abandonneràce stade la lecture de cette humeur,sautezplutôtlesexplicationsenitalique qui suivent. En résumé,ducontrat de travail entre l’employeuretle salarié,découle une rémunération mensuelle,le salaire de base.Unensemble de retenues(pourmaladie,oucongéssanssolde,par exemple) oude compléments(commelesheuressupplémentairesouune prime exceptionnelle) conduitau salaire brut. Doiventensuiteêtre calculéesdescotisationsdontlesbasesde calcul etlestaux varient.Ces cotisationspeuventcomporterune partsalariale et/ouune partpatronale.Dansle cadre de cette humeur,nousnouslimiteronsàlapartie salariale descotisations.Celles-ci sontenprincipe déductiblesfiscalement,àl’exceptionnotable de laCRDSetd’une part importante de laCSG. Le salaire brut,diminué desretenuescorrespondantàlapart déductible descotisations,représente le netimposable.Celui-ci,moinsles cotisationsnondéductibles,etdifférentséléments complémentaires,venantenplusouenmoins(partsalariale desticketsrestaurant,remboursement de frais,… ) conduitenfinaunetà payer. Techniquement,ce sontlesbasesde calcul desdifférentescotisationsqui représententladifficulté essentielle.Eneffetlestaux ne sontqu’unpourcentage àentrerdansle modèle,àappliqueraux basesconcernées. Pourcalculercelles-ci,il fautprendre encompte le plafondURSSAF,défini annuellement, actuellement2946 € par mois.Certainescotisations,ditesnonplafonnées,s’appliquentausalaire brut,d’autresaux tranchesA, B et C (celle-ci ne concernantqu’unnombre infimede salariés).Enfin,
  • 4. la CSG etla CRDS ont pourbase le salaire brutdiminué d’un abattementde 3% pour frais professionnels. La tranche A estla partie dusalaire brutinférieure ouégale auplafond.Latranche B estl’éventuelle fractiondu salaire dépassantle plafond.Cependant,latranche Bcomporte elle-mêmeunplafond, égal à 4 foisle plafondde latranche A, soit11 784 € par mois.La tranche B estdonc au maximum égale à 3 foisle plafondURSSAF(éventuelle partdusalaire comprise entre 1et4 foisce plafond. EnfinIl existe une tranche C,au-delàde latranche B, avecun plafondégal à8 foisle plafondURSSAF, soit23 568 € par mois.Trèspeude salariéssontconcernésetnousnégligeronslescotisationsassises sur cette tranche.Elle a égalementunautre effet:depuisle premierjanvier2011, pour lessalariés atteignantcette tranche,l’abattementde 3% appliqué surle salaire brutpourle calcul de labase de la CSG etde laCRDS est plafonné etne s’appliquepasau-delàduplafondde latranche B.Nous négligeronségalementcetaspect. En principe le calcul destranchesne se faitpas moispar mois.Il fautraisonnersurl’année civileouà défautsurla période de présence dusalarié aucoursde l’année.Il fautdoncdéterminerlestranches sur la base descumulsetnon surlesseulschiffresd’unmoisparticulier.Compte tenude notre sujet, nousferonségalementl’impassesurcetaspect. Ce que je viensde décrire correspondàlarèglementationfrançaise etpeutdésorienternosamis suisses,maisrappelonsqu’ilne s’agitici que d’illustrerune fonctionnalité d’Excel. Pourréaliserunbulletinde salaire avecExcel,onadonc essentiellementbesoinde connaître le salaire brut,laliste descotisationssalariales,etpourchacune d’ellessabase etson taux. Les taux etle plafondde latranche A sontcommuniqués parlesdifférentesadministrations(URSSAF, et caissesde retraite principalement) audébutde chaque année,avecparfoisdesmisesàjourdes taux en coursd’année.Nousallonsvoircommentcalculerlesbasesde calcul. Nousallonssuccessivementréaliserunbulletinde salaire simplifié pour4cadres,Moreau,Martin, Blanchardet Dupont,ayantrespectivementune rémunérationmensuelle de 2800, 5 000, 12 000 et 15 000 €. Pour celanousallonsdéterminerlesformulesnécessairesaucalcul desbasesdes cotisations,puissimplifierlalecture dubulletinendéfinissantdesnoms. Bulletinde paye 1
  • 5. Fig.1 — Modèle simplifiédubulletinde Moreau,aveclaliste descotisationsetleurtaux,maisavec desbasessousforme de texte (cellulesB11 à B24), qu’il vafalloirremplacerparlesvaleurs correspondantes. Pourcalculerlescotisations,nousallonsdevoircréerlesformulesdescellulesB11à B24. Pour commencer,le plussimpleestd’entrerenB11 la formule « =E6 ».La base de calcul est le salaire brut,comme indiqué dansl’illustrationci-dessus,etcelui-ci (2800 €) figure encelluleE6.La formule estsimple,maisce seraitencore plusclair,si onpouvaitécrire « =Brut ». C’estheureusement possible,ocondition,biensûrd’avoirdéfinile nom ! Commentcréerunnom La méthode classique consiste àsélectionnerlacellule (oulaplage de cellules) que l’onveut nommer,puisàlancer une commande dumenuInsérer.Bienque celane soitplusindiqué dansle menu,cette commande estheureusementaccessibleparraccourci clavier.Pendantlongtemps,le raccourci a été ⌘ + L. Il fautmaintenantutiliseràlaplace,Ctrl + L ou ⌘ + F3. Définirunnom… Fig.2 — L’accès à la zone de dialogue Définirunnom Apparaît alorsune zone permettantd’entrerle nomdésiré,etde modifiersi nécessaire,ce àquoi le nomfait référence.Si lacellule situéeimmédiatementàgauche,ou à défaut,immédiatementau- dessusde lacellule active contientdutexte,celui-ci estexploité poursuggérerunnomà donnerla cellule,enl’occurrence « Salaire_Brut». Définirunnom2 Fig.3 — Le nom suggéré,etlaréférence proposée enassociationaunom, E6 étantla cellule active, et D6 (située immédiatementàgauche de E6) contenant« Salaire Brut »
  • 6. J’ai personnellementle caractère « _ » (underscore) enhorreur.À maconnaissance,il estétrangerà la typographie française,etenoutre,je le trouve hideux !Le plussouvent,je me contente de le supprimer,etde mettre une majuscule àchaque motcomme « SalaireBrut».Toutefois,pourun bulletinde salaire,« Brut» suffit;le terme estd’usage courantet ne laisse place àaucune ambiguïté. Définirunnom3 Fig.4 — Le nom modifié.Laréférence estcorrecte. Dans la zone Faitréférence à,ontrouve « =Moreau!$E$6 ». Moreau estle nom du salarié concerné,maissurtoutcelui de l’ongletassociéàlafeuille,comme on peutle voir,enrouge et blanc,enbas de la figure 1. Le pointd’exclamationestdansExcel le symbole d’appartenance. Quant à $E$6, cela désigne lacellule E6,enprécisant qu’il s’agitd’uneréférence absolue,c’est-à-dire que le nom entraind’être défini estindépendantde lacellule active. « =Moreau!$E$6 » signifie donclacelluleE6de la feuilleMoreau,définiede manière absolue(par oppositionàrelative,E6ou, à mixte,$E6 ou E$6). Maintenantqu’ona défini unpremiernom, onva l’utiliserenentrantenB11 laformule « =Brut », pour faire apparaître notre première base. Bulletinde paye 2 Fig.5 — La formule active estB11, ce que l’onpeutvérifiertoutenhautà gauche de l’illustration,et la formule est« =Brut »,comme le montre la barre de formule (au-dessusde l’en-têtede lacolonne B) On a maintenantbesoinde déterminerlabase CSG. Onpourraitentrerdans lescellulesconcernées« =Brut * 97% ».Je rappelle que les97%résultentd’unabattementde 3% pour fraisprofessionnel évoqué plushaut.J’ai vuune formule de ce type utilisée dansunexemplede bulletinde salaire au
  • 7. formatExcel téléchargeable surInternet.Une telle formule,contenantunnombre estune aberration pour de multiplesraisons. Le principe même d’untableurestd’avoirdescellulesavecdesvaleurs,etd’autresavecdes formules,maisonne mélange pasles2.En voici lesprincipalesraisons: - Si une valeur,qu’il s’agissedu coursd’une devise,dutaux d’une cotisationoude toutautre chose doitêtre mise à jour,il fautpouvoirle faire aisément.Pourcelail fautqu’ellesoitstockée dansune cellule indépendante,afinde pouvoirlarepérervisuellementsansdifficulté.On metalorsà jourla cellule concernée,ettouteslescellulesqui sontliéesàl’élémentqui vientd’être misàjourseront recalculées. - Si au contraire on entre une valeurauseind’une formule,comme dans« =Brut * 97% », le jourou l’abattementserasupprimé ousontaux modifié,il faudrapourcorrigerle modèle de bulletinde salaire repérertouteslescellulescontenantlaformule àadapter,ici 3 cellules,B12,B23 et B24. Dans le cas d’unbulletin,pourpeuqu’onaitcréé unmodèle de classeuravec12 onglets,(1par mois),ce ne sont plus3 mais 36 formulesqui devrontêtre corrigées.Pourpeuqu’onenoublie 1,voire plus,le modèle ne seraplusfiable,etce qui accentue le problème,cette perte de fiabilité ne serapas flagrante. - Enfin,si ensaisissantune valeurdansune formule,onfaitune faute de frappe,làencore,onaura un résultaterroné sansmême enêtre conscient,tandisqu’enayantutilisé une cellule spécifique pour entrerlavaleur,l’effetd’unefaute de frappe estclairement repérable. À mesyeux,une valeurintégrée àune formule estune faute professionnelle.Une telle formule doit être taboue.J’ai décritici unexemple détailléde résultataberrantrésultantd’une formule de ce type. Le coefficientde 97%permettantde déterminerlabase CSGà partirdu brut doitdoncêtre stocké explicitementdansune cellule.Ni cette valeurni le plafondn’ontàapparaître sur le bulletin.On pourraitdéfinirune zone d’impressionetlesstockeràl’extérieurde celle-ci,maisil estsouventplus simple de grouperlesélémentsde cette nature dansune feuillespécifique,appeléeici Param (diminutif de paramètres). Zone de noms1
  • 8. Fig.6 — Le taux permettantde détermineràpartir dusalaire brut,la base de calcul de laCSG Une foisentré le taux de 97% en cellule C6,il fautcréerle nomcorrespondant.Pourallonsvoir commentle faire sanspasserpar le dialogue Définirunnom…,de lafigure 3. La figure 7 illustre la barre de formules,telle qu’elleapparaîtenfigure 6, c’est-à-dire « Param» lafeuille active,etC6la cellule active.Labarre comporte à sonextrémité gauche,une zoneallongée avecensoncentre « C6 »,l’adresse de lacellule.Cette zone se nomme lazone de noms,etpermetde faire pasmal de choses. Zone de noms1 Fig.7 — La barre de formules,telle qu’ellese présente quandlacellule C6de la feuille « Param» est active.Il s’agitd’undétail (lapartie supérieure),de lafigure 6. Tout d’abord,si on clique danslazone de noms,elle se transforme ainsi : Zone de noms2 Fig.8 — La barre de formules,aprèsqu’onaitcliqué danslazone de noms(àson extrémitégauche), C6 étanttoujourslacellule active. On se rendcompte que la zone de nomsest une zone éditable. L’adressede lacelluleest sélectionnéeetseraécrasée parle texte que l’onvasaisir.Il suffitalorsd’entrer« TxBaseCSG»,etde valideravecl’une destouchesEntrée ouRetour.Lazone de nomsse présente dorénavantainsi : Zone de noms3 Fig.9 — La barre de formules,aprèsqu’onaitentré « TxBaseCSG» dansla zone de noms,C6 étant toujourslacellule active.
  • 9. Le texte entré aremplacé l’adressede lacellule,etunnoma été créé et associé àla cellule C6, comme on peutaisémentle vérifierenpassantparDéfinirunnom…: Définirunnom4 Fig.10 — Contrôle que le nomdéfini enpassantparlazone de noms,a bienété prisencompte. La zone de nomspermetdoncde nommerextrêmementfacilementune plage de cellules(une unique cellule n’enétantqu’uncasparticulier).Il suffitde sélectionnerlaplage concernée,puis d’entrerle nomsouhaité.Celane fonctionne toutefoisque si le nomn’existepasdéjà.Alorsque en passantpar le dialogue Définirunnom…,il n’ya pas cette contrainte.Si onrecrée un nomdéjà utilisé,l’occurrence antérieure seradétruite,seuleladernièreréférence associéeaunomsera valable. Nousallonsutilisercette facilité qu’offrelazone de noms,pourcréer3 nomssupplémentaires associésrespectivementaux cellulesC2,C3 etC4 de la feuille « Param»,pour le plafonddes tranchesA, B etC. Il resteraensuite,pourcompléterlafeuille Param, àcalculer lesplafondsdes tranchesB et C, enmultipliantle celui de latranche A,par le coefficientcorrespondant,encolonneB. Pource faire,latechnique la+ rapide consiste àsélectionnerlescellulesC3etC4, à entrerlaformule, et à validerenune seule fois,grâce àl’emploi conjointdestouchesCtrl etRetour: PlafondstranchesBet C Fig.11 — La formule permettantde calculerle plafondde latranche B.En ayantpréalablement sélectionné les2cellulesC3etC4, et envalidantavecCtrl + Retour, on obtientles2plafondsenune seule manip.Laformule présente enC4faitbienévidemmentréférence àB4 etnon à B3 (référence relative). Aprèsavoirvalidé laformule,cliquerdanslazone avec2 flèches(au-dessusducurseur,surla figure 12), permetd’illustrerencore une autre fonctionnalitéde lazone de noms: elle permetde listerles plagesqui ontété nomméesde manière explicite.Enoutre,si onclique surl’undesnomsde la liste, la plage correspondante estautomatiquementsélectionnée. C’estextrêmementpratique pourles tableaux de grande taille (plusieurscentainesoumilliersde lignes).Avoirnommé lesprincipales zonespermetalorsde se déplaceraisémentmalgré lataille dutableau.
  • 10. Plagesnommées Fig.12 — La zone de nomspermetégalementde listerdeszonesnommées,etd’yaccéderenles choisissantsimplementdanslaliste déroulante. Le déplacementn’estpaslimitéàlafeuilleactive.Si onclique sur« Brut »,on passe de la feuille« Param » à la feuille « Moreau» : Zone de noms2 Fig.13 — La cellule nommée « Brut»,sur la feuille« Moreau».On y a accédé enla choisissantdans la liste de lafigure 12. La zone de nomsoffre encore d’autrespossibilités:si onsélectionneàlasourisune plage comportantau moins 2 cellulescontigües,pendanttoute laphase de sélection,lazone de noms indique le nombre de lignesetde colonnessélectionnéesàtoutinstant.L’information,éphémère, cesse d’être affichée dèsqu’onlâche le boutonde lasouris.C’estune aide précieuse lorsqu’ona besoinde sélectionnerunnombre précisde ligneset/oude colonnes: Zone de noms3 Fig.14 — Lors de la sélectiond’uneplage comportantaumoins2cellulescontigües,lazone de noms indique précisémentle nombrede lignesetde colonnessélectionnées,ici « 6L x 2C », pourdésigner un rectangle de 6 lignespar2 colonnes. Enfin,dansla figure 11, lazone de nomsaffiche lafonctionSOMME.Dès lorsqu’onestentrain de saisirune formule (commençantparle signe égale,ce ne sontpluslesnoms,maisles10 dernières fonctionsutiliséesqui sontlistéessi onclique surlesflèchesindiquéesparle curseursurla figure 12. Aprèscette longue digressionsurlazone de noms,revenons — enfindirontcertains — aucalcul de nos base de cotisations.Pourlabase CSG encellule B12du bulletin,il suffitde multiplierle brutpar le taux correspondant,ce que faitla formule de lafigure 15 :
  • 11. Formule bulletinenB12 Fig.15 — Formule permettantde calculerlabase CSG. Jusqu’àprésent, ons’estcontenté d’utiliserdesnomscorrespondantchacunàune cellule.L’étape suivante vaassocierdesformulesaux noms:Pourla tranche A, il s’agitde la partie duBrut inférieure ou égale auplafond.Chacune de cesvaleursétantassociée àunnom, la solutionpourdébutant consiste àutiliserlafonctionSI().Voici sasyntaxe,pourceux qui ne laconnaissentpas: =SI(Condition;Résultatsi conditionremplie;Résultatdansle cas contraire) Celasignifiequ’il fautlui fournir3arguments: - La conditionàtester - Le résultatàaffichersi laconditionestremplie - Le résultatàaffichersi laconditionn’estpasremplie Celadonneraitici : =SI(Brut< PlafondTrA;Brut;PlafondTrA) Celafonctionne maisrisquede devenircompliquéquandil s’agirade déterminerlestranchesBetC. En outre,il existe une fonctionbienmieux adaptée,MIN() pourminimum.Latranche A sera ainsi définie : Formule bulletinenB12
  • 12. Fig.16 — Cette fois,le nomdéfinin’estpasassocié àune cellule,maisàune formule. Quant à la tranche B, c’estla fractionduBrut qui dépasse le plafondde latranche A.En première approximation,ce serait: = Brut - PlafondTrA Toutefois,si le salaire Brutestinférieurauplafondde latranche A (2 946 €), ce qui estle cas ici,il n’y a pas lieud’aboutiràune tranche B négative.Nousavonsprécisé plushaut,que nousnousplacions dans uncas simplifiéoùonraisonne surles seulesdonnéesdumoisencours,alorsqu’il peuten réalité yavoirdesrégularisations,caril fauten réalité raisonnersurlescumulsdepuisle 1erjanvier (oul’entrée dusalarié dansl’entreprise s’il estarrivé encoursd’année).Onconsidéreraici qu’il s’agit d’unbulletinde janvier,etque doncaucune régularisationn’estnécessaire.LafonctionMAX() va nouspermettre d’éviterlesvaleursnégatives,enprenantzérosi ladifférence estnégative : =MAX(0;Brut - TrancheA) S’il ya effectivement une tranche B,il faut égalementprendre encompte sonplafond;elle ne peut être supérieure àladifférence entre lesplafondsdestranchesA etB, soit3 foisle plafondde la tranche A. Voici laformule complètepourlatranche B : =MIN(PlafondTrB- PlafondTrA;MAX(0;Brut - TrancheA)) Ce plafonnementaveclafonctionMIN() ne concerne qu’une infime minorité de salariés,maisil faut tout de même entenircompte. Formule bulletinenB12 Fig.17 — Formule permettantde déterminerlatranche B.MalheureusementdanslesversionsMac d’Excel,lafenêtre n’estpasredimensionnable,etne permetde voirqu’une partie de laformule.
  • 13. La formule esttroplongue pourêtre intégralementvisible danslafenêtreDéfinirunnom…C’estune desdéceptionsd’Excel 2011 : depuislaversion2007, lesversionsWindowsd’Excelpermettent d’agrandirsanslimitationcette fenêtre,qui pardéfautestridiculementpetite.Une autre fonctionnalité,trèsutile aégalementété introduite avecExcel 2007, la possibilitéd’associerà chaque nomun commentaire.Malheureusementces2élémentssonttoujoursabsentsde laversion 2011 pour Mac ;-(( Le calcul de la tranche C est comparable àcelui de la tranche B : =MIN(PlafondTrC - PlafondTrB;MAX(0;Brut - TrancheA - TrancheB)) A ce stade il reste à remplacerle texte indicatifentré encolonne Bpardesformulesfaisantappel aux noms,selonune substitutiontrèssimple : =Brut * TxBaseCSGau lieude « Base CSG ». On auraitd’ailleurspudéfinirle nom« Base CSG » associé à cette formule.Pourêtre toutà faitcorrect,il faut tenircompte que l’abattementde 3% est supprimé au-delàde latranche B. En négligeantlestrèsraressalariésdépassantlatranche C(prèsde 300 000 € par an),la formule correcte est(TrancheA +TrancheB) * TxBaseCSG+ TrancheC,et cela vaut lapeine de lui associerle nom« BaseCSG» =TrancheA au lieude « Tranche A ». =TrancheB au lieude « Tranche B ». =TrancheA + TrancheBau lieude « Tranche A + Tranche B ». À part la première formule,il suffitd’ajouterle signe égale etde supprimerlesespacesauseinde « Tranche A » et de « Tranche B »,car ceux-ci ne sontpasautorisésdanslesnoms. Maintenantque lesbasessontentrées,onpeutmettre enplace le calcul descotisations.Si nous l’avionsfaittroptôt,nousaurionsobtenudesvaleursd’erreur,carlesnomsn’étaientpasencore définis.EnD11 par exemple,pouravoirle montantde lacotisationcorrespondante,onauraitpu entrersimplement« =B11 * C11 ».Les espacesauseinde la formule sontfacultatifs,maisaméliorent
  • 14. la lisibilité. Cette formuleauraitpuensuite être recopiéeversle basjusqu’enD17 pourles cotisationsfiscalementdéductibles,etreprise enC23et C24 pourlescotisationsnondéductibles.Ici encore,définir2noms va rendre lesformulesbien+lisibles:sélectionnonslaplage B11:B24 et associons-luile nom« Base »,grâce à lazone de noms. Bulletinde paye 3 Fig.18 — Définitionde laplage Base Répétonsl’opérationaveclaplage C11:C24 et le nom« Tx ».Maintenantque touslesnoms nécessairesontété définis,il suffitd’entrerdanslescellulesD11:D17 et D23:D24, la simple formule« = Base * Tx », etlescotisationssontcalculées,enutilisantpourchacune,labase etle taux situéssur la même ligne,sansindicationsupplémentaire : Bulletinrempli 1 Fig.19 — Un premierexemple de bulletinsimplifiémaisfinalisé! Le premierbulletinfaisaitapparaître une base nullepourlaretraite complémentaire tranche B,et aucune descotisationsn’étaitplafonnée.C’estnormal,carle salaire brut(2 800 €) étaitinférieurau plafondde latranche A (2 946 €) pour 2011. Si on faitpasserle salaire brutà 5 000 €, lescotisations assisessurla tranche A sontplafonnées,etune tranche Bapparaît, égale à 2 054 (cellule B17). Bulletinrempli 2 Fig.20 — Dans ce deuxième exemple,de latranche Bapparaît, car le salaire brutdépasse le plafond de la tranche A. En portant le brutà 12 000 €, on dépasse le plafondde latranche B.Le total destranchesA etB est égal à ce plafond(cf.figure 12).Lestranchessemblentdonccorrectementcalculées. Bulletinrempli 3
  • 15. Fig.21 — Avecce troisièmebulletin,le brutdépasse 4foisle plafondde latranche A.Celaa pour conséquence que latranche A atteintsonplafondetlatranche B estégale à 3 foisce plafond.Le total des2, qui sertde base de cotisationpourle chômage estbienégal auplafondde latranche B, tel qu’il apparaîtsur la feuille « Param»,en figure 12. Enfin,si on faitpasserlarémunérationtotale à15 000 €, soit3 000 de plus,on constate que labase augmente elle aussidumême montant,ce qui prouve que lasuppressionde l’abattementde 3% pour le calcul de la base CSG, au-delàduplafondde latranche B fonctionne également. Bulletinrempli 4 Fig.22 — Un dernierbulletinpermetde vérifierle boncalcul de labase CSG. La suite auprochainépisode … Bigalo 18 commentaires Eh ben,dis! Si ce n’estpas duprécis,ça… Merci beaucoup.Je pense que pasmal de gensvontse référeràton article lorsqu’ilsenauront besoin. Bienvenuedonc!
  • 16. Alorsça, je kiffe :) C’estclair,netet précis! Quelquechose qui me seratrèsutile! Merci beaucouppourl’article etbienvenue danscélébrissimeCRC(ClubdesRédacteurs-tricesde Cuk)!! Bravo pourcet article si bienécrit! Effectivement,je m’yréféreraiaumomentvoulu. WOW. Et bienje suiscontentde ne faire desfichesde salaires –pourl’instant– qu’enSuisse…Bravo pour cetarticle complet. Merci à tous pources 4 premièresréactions,toutespositives;-)) etaussi pourl’accueilparmi lesCRC ! Si vous avezdesquestionstechniques,n’hésitezsurtoutpas. Félicitationspourcette pédagogie !
  • 17. J’espère àprésentune humeursurlestableaux croisésdynamiques! Biensénégalaisement, Un immense BRAVOpourlaqualité de cetarticle.Il allie rigueur,facilité de compréhensionetmême une petite pointe d’humour,ce qui n’estpasforcémentévident. Bravo pourta première humeurBigaloetbienvenue dansle clubdesrédacteurs:) ConcernantVBA dansExcel 2011, c’estextrêmementdécevantde réaliserque Microsoftn’apas respecté lacompatibilité avecle VBA de Excel Xni même avecle VBA de Excel Windows! Le diable estdansle détail maisil ya quelquesfonctionsouconstantesVBA qui ontlégèrement changé de nomsoulégèrementchangé de résultat,ce qui rendincompatible ducode VBA unpeu sophistiqué… Mais je devance ta seconde partie… La formule estsimple,maisce seraitencore plusclair,si onpouvaitécrire « =Brut ». Concernantla1ère partie,je t’avoue que,àtort ouà raison,je ne suispas ungrand fan de nommer lesplagesde cellules… Personnellement,je trouve qu’onyperdvite sonlatinaveclesnomsetque lesréférencesde cellules permettentde facilementcontrôlerque lescopier/collerde formulesse fontcomme onle souhaite…
  • 18. Et pourtant je travaille aussi surde grandstableaux (dizainesde colonne etcentainesde lignes).Je pense enfaitque le nommage de plagesdoitêtre adapté àun type de tableauoud’usage etqu’il n’estpasla solutionmiracle pourtout;) En tout cas, beauboulotexplicatif etpédagogique :) Merci Félicitationspourcette pédagogie ! J’espère àprésentune humeursurlestableaux croisésdynamiques! Biensénégalaisement, Merci pourlesfélicitations. En ce qui concerne lesTCD (lestableaux croisésdynamiques),je n’ensuispasunchaudpartisan. Ceci dit,ma positionestbiaisée :quandlesTCD sontapparus(avecExcel 4 peut-être ?),celafaisait déjàde nombreusesannéesque je réalisaisdesmacros.J’ai alorsregardé brièvementcommentcela fonctionnait,maisn’ai pasété enthousiasmé. En particulier,j’ai trouvé que celamanquaitde souplesse quantàlamise enforme. Par programmation,onpeutréaliserassezfacilementce que fontlesTCD,sansavoirà subirleurs limitations.Parconséquent,àtitre personnel,lesTCDne m’apportaientpasgrand-chose. Toutefois,je conçoisque pourunutilisateur« normal »,lesTCD sontun outil puissant,qui fournit dessynthèsessansdevoirfaire d’autre effortqu’apprendre àmaîtriserlesTCD.
  • 19. Une humeurlesconcernant ne me tente pasbeaucoup.Toutefois,ce qui seraitenvisageable,estune humeursur1 desnombreusesfonctionsméconnuesd’Excel,<acronymtitle=» »>SOMMEPROD</acronym> qui estselonmoi plussimple àmaîtriserque lesTCD,etpermet d’obtenirtoutce qui se fait classiquementaveceux. Superarticle merci. Pas de chance,j’auraisaussi aimé une suite sur… lestableaux croisésdynamiques;-( Merci @ Bigalo, Je suisrassuré sur le caractère nonindispensabledesTCD,etd’accordsur leurmise enforme problématique… Quant à moi,je suisunminuscule utilisateurd’Excel,etle peuque j’enconnaisme permet,après extractionde quatre fichiersde sortirenmoinsd’une heure15 synthèsesettableaux de bord budgétaires… Le pluslonga été de figerunmodèle fiable,ettouteslesformulesqui vontbien,eteffectivement, j’arrive àproduire destableaux dontje soigne particulièrementlaforme (ce que ne permettraitpas un TCD) Je me suisamusé à listerlesfonctions,etsymbolesemployésàcette fin,etil yena trèspeu,enfait, trèsbasiques: =SOMME.SI
  • 21. Bravo etn’hésitezpasàcontinuerdansde prochainsarticlesà noustransmettre votre savoiren matière d’Excel. Même quandon utilise souventce logiciel,il recèle despanscachésqu’il estagréablede découvrir de façon aussi claire etdétaillée. Bravo pourta première humeurBigaloetbienvenue dansle clubdesrédacteurs:) ConcernantVBA dansExcel 2011, c’estextrêmementdécevantde réaliserque Microsoftn’apas respecté lacompatibilité avecle VBA de Excel Xni même avecle VBA de Excel Windows! Merci pourla bienvenue. Je voisque tu citesExcel X etnon Excel 2004. Toi aussi,tuconsidères(c’estmoncas) que pourVBA, la version2004 étaittropinstable ettropbaguée,comme le laisse pensercette page ? Concernantla1ère partie,je t’avoue que,àtort ouà raison,je ne suispas ungrand fan de nommer lesplagesde cellules… Sur ce plan,il y a probablementune partde personnalitéqui faitapprécierplusoumoinsl’usage des noms.« Desgoûtset descouleurs!» Personnellement,je trouve qu’onyperdvite sonlatinavecles nomsetque lesréférencesde cellules permettentde facilementcontrôlerque lescopier/collerde formulesse fontcomme onle souhaite… Un des moyensde ne pasy perdre sonlatinestde collerrégulièrementlaliste desnomsdansune feuille:
  • 22. Comme tu le saissansdoute,maispas forcémenttoutle monde,onyaccède de la même façonque pour définirunnom(figure 2),enchoisissantsimplementl’optionsuivante,« Coller…». Voici le résultatdansle casde notre bulletinsimplifié: Celapermetde s’assurerque lesdéfinitionssontsatisfaisantes.Ce qui estpratique,enmatière de contrôle,parrapport aux formulesd’untableau,c’estque touteslesinfossontgroupéesdansune zone unique de 2 colonnes.Pardéfautlesnomssontcassésparordre alphabétique,maisrien n’empêche d’utilisercomme critère de tri laseconde colonne. Je n’ai pas encore eule tempsde lire l’article,maisvule bienqu’onendit,je ne tarderai pas… En parlantde tableurs“ancêtres”,je voudraisrendre hommage aux développeursde CricketGraph: l’applicationadû être développée aumilieudesannées80,et elle fonctionnaitencore parfaitement jusqu’àladernière mise-à-jourdusystème OS9,en2001. Les programmeursavaientdûeffectueruntravail d’orfèvre pourarriveràune telle perfection… J’utilisebeaucouplesnomspournommerlesplagesde cellules.C’estparticulièrementutile qu’onest oblige d’ajouteroude retirerdeslignesaune plage donnée,etque parlasuite une macro vient manipulercette plage.Dansce cas lamacro utilise le nomde laplage toutsimplement.J’utilise beaucoupde choix surliste,pourceux qui ne connaissentpas,celapermetfaire apparaitre une liste déroulante dansune cellule.Ceslistesévoluentavecle temps(ajoutouretraitde donnée).Le faitde nommerceslistespermetde s’affranchirde leurséventuellesredimentionnement.Danscesdeux cas nommerdesplagesde cellulespermetde solutionnersimplementdesproblèmesdifficilesarégler autrement.
  • 23. Merci pource billettrèsintéressant.Je suisutilisateur(occasionnel àvrai dire) d’Excel depuisles toutespremièresversionsetj’ai toujourstrouvé ce logiciel puissantettrèsbienfait.Il s’agitpourmoi d’une desraresréussitesabsolumentincontestablesde Microsoft. VBA estun outil puissant,que j’ai apprissurle tas.Je suistoujourspreneurd’infospourcompléter mesconnaissancesàce sujet.J’attendsdonclasuite avecimpatience. Je voisque tu citesExcel X etnon Excel 2004. Toi aussi,tuconsidères(c’estmoncas) que pourVBA, la version2004 étaittropinstable ettropbaguée,comme le laisse pensercette page ? Nonen fait,je ne suisjamaispassé à Office 2004, 2008… En fait,j’ai gardé Office Xjusqu’en2008 date à laquelle j’ai basculépourOpenOffice puisdésormaispourLibre Office. Euh… pourquoi tufaispas toutça directementenSQL?:o) Boutade mise àpart, très bonarticle,pleinde conseilsfrappésaucoindubon sens. Excel c’estun vrai bonheurà utiliser,etj’ai été biencontent de constaterlaréintroductiondes macros dansla dernière version.Parcontre ce logiciel esttellementpuissantqu’onse metvite àfaire n’importe quoi,doncil fautunminimumde discipline si onveutque lestableaux soient compréhensiblespard’autresutilisateursque l’auteur. Ajouteruncommentaire – Alerte pare-mail