12.07.2015 Views

TP « Opérations sur les tableaux Excel » - Chazard.org

TP « Opérations sur les tableaux Excel » - Chazard.org

TP « Opérations sur les tableaux Excel » - Chazard.org

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>TP</strong> <strong>«</strong> <strong>Opérations</strong> <strong>sur</strong> <strong>les</strong><strong>tableaux</strong> <strong>Excel</strong> <strong>»</strong>I. Rappels <strong>sur</strong> <strong>les</strong> fonctions etopérateurs arithmétiquesII.III.IV.Notions <strong>sur</strong> <strong>les</strong> nombresNotions <strong>sur</strong> <strong>les</strong> datesVariab<strong>les</strong> binaires et booléennesV. Quelques trucs18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 1


Fonctions et opérateurs<strong>Excel</strong> : conceptsI. Les fonctions <strong>Excel</strong> se comportentcomme de simp<strong>les</strong> opérateursII.III.Les opérateurs <strong>Excel</strong>Certaines fonctions <strong>Excel</strong>remplacent <strong>les</strong> structure decontrôle18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 2


Les fonctions <strong>Excel</strong> font etne font pas… En programmation classique, une fonction :Est appelée avec des paramètres Peut faire de choses (ici la fonction print( )$var="Madame" ;print("Bonjour " . $var . " !") ;> Bonjour Madame ! Peut retourner une valeur (ici la fonction min( )$var = min( 4, 6) ;print( $var ) ;> 418/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 3


Les fonctions <strong>Excel</strong> fontet ne font pas…AAvec <strong>Excel</strong>, <strong>les</strong> fonctions se comportent comme desimp<strong>les</strong> expressions avec opérateurs (+-*/^) :El<strong>les</strong> retournent une valeur, mais ne font rien d’autre.Une fonction est donc <strong>«</strong> remplacée <strong>»</strong> par la valeur qu’elleretourneEt ainsi de suite, de sorte que chaque cellule qui contientune formule ait une valeur, qui est affichée … Mais il ne peut rien se passer d’autre ! Exemple :BC12356=somme( min(A1;B1) ; max(A1;B1) )18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 4


Les fonctions <strong>Excel</strong> fontet ne font pas…AAvec <strong>Excel</strong>, <strong>les</strong> fonctions se comportent comme desimp<strong>les</strong> expressions avec opérateurs (+-*/^) :El<strong>les</strong> retournent une valeur, mais ne font rien d’autre.Une fonction est donc <strong>«</strong> remplacée <strong>»</strong> par la valeur qu’elleretourneEt ainsi de suite, de sorte que chaque cellule qui contientune formule ait une valeur, qui est affichée … Mais il ne peut rien se passer d’autre ! Exemple :BC12356=somme( min(A1;B1) 23 56 ; max(A1;B1) 23 56)18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 4


Les fonctions <strong>Excel</strong> fontet ne font pas…AAvec <strong>Excel</strong>, <strong>les</strong> fonctions se comportent comme desimp<strong>les</strong> expressions avec opérateurs (+-*/^) :El<strong>les</strong> retournent une valeur, mais ne font rien d’autre.Une fonction est donc <strong>«</strong> remplacée <strong>»</strong> par la valeur qu’elleretourneEt ainsi de suite, de sorte que chaque cellule qui contientune formule ait une valeur, qui est affichée … Mais il ne peut rien se passer d’autre ! Exemple :BC12356=somme( min(A1;B1) 23 56 ; max(A1;B1) 23 56)2318/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 4


Les fonctions <strong>Excel</strong> fontet ne font pas…AAvec <strong>Excel</strong>, <strong>les</strong> fonctions se comportent comme desimp<strong>les</strong> expressions avec opérateurs (+-*/^) :El<strong>les</strong> retournent une valeur, mais ne font rien d’autre.Une fonction est donc <strong>«</strong> remplacée <strong>»</strong> par la valeur qu’elleretourneEt ainsi de suite, de sorte que chaque cellule qui contientune formule ait une valeur, qui est affichée … Mais il ne peut rien se passer d’autre ! Exemple :BC12356=somme( min(A1;B1) 23 56 ; max(A1;B1) 23 56)23 5618/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 4


Les fonctions <strong>Excel</strong> fontet ne font pas…AAvec <strong>Excel</strong>, <strong>les</strong> fonctions se comportent comme desimp<strong>les</strong> expressions avec opérateurs (+-*/^) :El<strong>les</strong> retournent une valeur, mais ne font rien d’autre.Une fonction est donc <strong>«</strong> remplacée <strong>»</strong> par la valeur qu’elleretourneEt ainsi de suite, de sorte que chaque cellule qui contientune formule ait une valeur, qui est affichée … Mais il ne peut rien se passer d’autre ! Exemple :BC12356=somme( min(A1;B1) 23 56 ; max(A1;B1) 23 56)23795618/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 4


Les opérateursarithmétiques <strong>Excel</strong><strong>Opérations</strong>arithmétiquesadditionsoustractionmultiplicationdivisionpuissancemoduloconcaténationOpérateur <strong>Excel</strong>A+BA-BA*BA/BA^B(inexistant)A & BFonction <strong>Excel</strong>Somme(A;B)(inexistant)Produit(A;B)(inexistant)Puissance(A;B)Mod(A;B)Concatener(A;B)18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 5


Certaines fonctions <strong>Excel</strong>remplacent <strong>les</strong> structures decontrôleCes fonctions pallient l’absence de structurede contrôle. Ce sont bien des fonctions <strong>Excel</strong>:El<strong>les</strong> acceptent des paramètresEl<strong>les</strong> retournent une valeurEl<strong>les</strong> ne font rien d’autre Exprimer une condition : Programmation classique :if( $A1 > $A2 ){ $A3 = 1 ; }else{ $A3 = 0 ; } Avec <strong>Excel</strong> (dans la cellule A3 :)= si( A1 > A2 ; 1 ; 0)18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 6


Certaines fonctions <strong>Excel</strong>remplacent <strong>les</strong> structures decontrôle Dans le même esprit, <strong>les</strong> opérateurslogiques sont remplacés par desfonctions Exprimer un ET ou un OU : Programmation classique :if( $A1>$A2 and $A1>0 ){ $A3 = 1 ; }else{ $A3 = 0 ; } Avec <strong>Excel</strong> (dans la cellule A3 :)= si( et( A1>A2 ; A1>0) ; 1 ; 0)18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 7


Quelques notions<strong>sur</strong> <strong>les</strong> nombresI. Écritures léga<strong>les</strong> ou toléréesII.III.Import-Export des nombresRécupération de nombres18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 8


Écritures léga<strong>les</strong> outolérées Le consensus international accepte : 1234.5 -.234E21 <strong>Excel</strong> accepte en outre : Le séparateur des milliers : 1 234 La virgule comme séparateur décimal : 1,2 Pour modifier le séparateur décimal :Menu démarrer > paramètres > panneau deconfiguration > options régiona<strong>les</strong> > modifier <strong>les</strong>ymbole décimal18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 9


Import-Export desnombresL’import-export *.txt *.xls peut poser problèmePrécautions lors de l’import : résultat variable selon laméthode :[explorateur] Clic droit > ouvrir avec > Microsoft <strong>Excel</strong>[excel] fichier > ouvrir[bloc-notes] édition > sélectionner tout, édition > copier[excel] édition > copierPrécautions lors de l’export : il est utile de simplifierla mise en forme des nombres et des pourcentages.Exemple : ouvertures selon <strong>les</strong> 3 manières du fichierexemple_de_fichier_a_problemes.txt : pas très sympathique !18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 10


Récupération de nombres <strong>Opérations</strong> manuel<strong>les</strong> :dans un fichier texte : édition>remplacer (ctrl+h), plutôtdans Wordpad que dans le Bloc-Notesdans <strong>Excel</strong> : sélectionner la colonne à récupérer, utiliserédition>remplacer (ctrl+h) Fonctions pour récupérer par formule : =substitue( substrat, ancien_txt, nouveau_txt )Retourne Substrat, dans lequel <strong>les</strong> morceaux ancien_txt sont remplacés parnouveau_txt (qui peut être vide) =supprespace( substrat )Supprimer <strong>les</strong> espacements avant et après (…) =cnum( substrat )Retourne une interprétation en nombre du substrat18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 11


Notions <strong>sur</strong> <strong>les</strong> datesI. Quelques formats, problèmesd’importII.Comment <strong>Excel</strong> traite <strong>les</strong> dates18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 12


Quelques formatsProblèmes d’import Quelques formats :Format européen : jj/mm/aaaaFormat américain : m/j/aaaaFormat SQL : aaaa-mm-jj Difficultés d’import ?Tout comme pour <strong>les</strong> nombres, <strong>les</strong> opérationsd’interprétation d’<strong>Excel</strong> dépendent du mode d’import(ouverture, ou copie). Ne pas hésiter à tester plusieursméthodes !Au pire combiner <strong>les</strong> fonctions STXT(), TROUVE() et DATE()Exemple : ouvertures selon <strong>les</strong> 3 manières du fichierexemple_de_fichier_a_problemes.txt : pas très sympathique !18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 13


Comment <strong>Excel</strong> traite <strong>les</strong>dates0 0 janvier 19001 1 janvier 1900,,, ,,,38718 1 janvier 200638719 2 janvier 2006Pour <strong>Excel</strong> <strong>les</strong> dates sont des nombres, avecune mise en forme particulièreLors de la saisie ou de l’import, <strong>les</strong> caractères sontremplacés par un nombre, qui est le nombre de jourécoulés depuis le 31 décembre 1899Il reste alors possible de changer la mise en forme,mais ça reste un simple nombre <strong>Opérations</strong> :De ce fait <strong>les</strong> opérations arithmétiques sont possib<strong>les</strong>très simplementCependant, il existe des fonctions de dates, qu’onutilise plus rarement.18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 14


Variab<strong>les</strong> binaires etbooléennesI. DéfinitionII.III.IV.Opérateurs arithmétiques, opérateursde comparaison et opérateurs logiques: un parallèle étonnantGénérer des variab<strong>les</strong> binairesUne autre vision du nombre et de laproportion18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 15


DéfinitionsEnsemb<strong>les</strong> Nombre entiers naturels :0,1,2,3,4… Valeurs binaires : 0 et 1 Valeurs booléennes :VRAI et FAUX Conversion implicite : selon le contexte, <strong>Excel</strong> sait convertir cestypes entre eux, sans <strong>sur</strong>prise. Saisie :Saisir directement la valeur dans la cellule. L’alignement montrequ’<strong>Excel</strong> <strong>«</strong> a compris <strong>»</strong> (nombre à D, booléen au C, autre à G)Ou alors saisir l’opération qui génère telle valeur, précédée par<strong>«</strong> = <strong>»</strong>18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 16


Vision généralisée desopérateurs Définition généralisée :Forme générale {valeur1 + opérateur + valeur2}L’ensemble est remplaçable par valeur3valeur1 et valeur2 sont du même type, sinon <strong>Excel</strong> tente une<strong>«</strong> conversion implicite <strong>»</strong>valeur3 est souvent du même typeLes opérateurs arithmétiques 2+3 vaut 5 2-3 vaut -1 2*3 vaut 6 3/2 vaut 1.518/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 17


Vision généralisée desopérateurs (hors <strong>Excel</strong>)Les opérateurs de comparaison3>5 vaut FAUX3


Les opérateurs <strong>Excel</strong>non arithmétiquesTypeOpérateursOpérateur <strong>Excel</strong>Fonction <strong>Excel</strong>OpérateursdecomparaisonInférieurSupérieurÉgalA>BA


Variab<strong>les</strong> binaires ou booléennes :parallèle étonnant !ET <strong>«</strong> & <strong>»</strong>OU <strong>«</strong> | <strong>»</strong>Contraire <strong>«</strong> ! <strong>»</strong>Ou exclusifNon(A1)Avec des booléensFAUX/VRAIEt(A1;B1)Ou(A1;B1)Et(ou(A1;B1);non(et(A1;B1))Avec des binaires0/1min(A1;B1)A1*B1(A1+B1=2)+0max(A1;B1)(A1+B1>0)+01-A1(A1+B1=1)+018/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 20


Générer des variab<strong>les</strong>binaires ou booléennesGénérer une variable booléenneDirectement : =(B2="M") Générer une variable binaire :Directement : =si(B2="M";1;0)En convertissant une variablebooléenne : = cnum(B2="M") = (B2="M") +0 = (B2="M") *1 = (B2="M") /1(le premier <strong>«</strong> = <strong>»</strong> signifie qu’on saisit une formule, ledeuxième est un opérateur)18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 21


Propriétés desvariab<strong>les</strong> binairesDans ce tableau la colonne Crépond en binaire à la question<strong>«</strong> est-ce un homme ? <strong>»</strong>Somme de cette colonneObtenue par la fonction somme() <strong>«</strong> il y a 4 hommes <strong>»</strong>Moyenne de cette colonneObtenue par la fonction moyenne() <strong>«</strong> il y a 57% d’hommes <strong>»</strong>18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 22


Quelques trucs<strong>Excel</strong> vous <strong>«</strong> empêche <strong>»</strong> de saisir certains textes(comme "-" ou "4E15") :débutez la saisie par une apostrophe Insérer un saut de ligne dans une cellule : Alt+Entrée (et <strong>sur</strong>tout pas une suite d’espaces !) Supprimer un saut de ligne ou des carrés dans unecellule :Il s’agit peut-être de car(10) et/ou car(13) Toute saisie de ". " est transformée en ", "Utilisez le point du clavier central [maj]+[;] et non le pavénumérique.Modifiez éventuellement <strong>les</strong> paramètres régionaux18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 23


Le contenu du <strong>TP</strong> Filtre automatique Variab<strong>les</strong> binaires Tableaux croisés dynamiques Sous-totaux18/12/2007 Dr Emmanuel <strong>Chazard</strong> www.chazard.<strong>org</strong> 24

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!