Où trouver des explications pour débuter vraiment de 0 avec les macros excel ?
C'est ici, avec un classeur exemple à télécharger.
Cette astuce est illustrée dans ce classeur exemple :
fc-pap-vba (téléchargé 23992 fois)
fc-pap-vba (téléchargé 23992 fois)
Flo Cabon,
Ajouté ou modifié le 11/08/2004 (N°1475)
Ajouté ou modifié le 11/08/2004 (N°1475)
JE voudrais bien un tutoriel sur les TCD
Il est ici avec un classeur à télécharger !
Cette astuce est illustrée dans ce classeur exemple :
fc-pap-tcd (téléchargé 15764 fois)
fc-pap-tcd (téléchargé 15764 fois)
Flo Cabon,
Ajouté ou modifié le 11/08/2004 (N°1473)
Ajouté ou modifié le 11/08/2004 (N°1473)
Comment mettre bout à bout les astuces d'excelabo quand on débute ?
Une page spéciale à consulter pour accéder à des fiches didactiques !
Flo Cabon,
Ajouté ou modifié le 11/08/2004 (N°1472)
Ajouté ou modifié le 11/08/2004 (N°1472)
Qu'est ce que c'est qu'une variable ? comment l'utilise-t-on ? que veut dire déclarer une
variable ?
Une variable c'est un élément que l'on va utiliser dans une formule ou dans une macro pour
appliquer le même traitement à une série (variable !) d'éléments. Typiquement en maths dans
l'équation y= 2x, y est le résultat, x la variable.
Sur une feuille excel, on peut écrire la valeur que l'on veut donner à x dans une cellule
(disons A1), la formule (sans le y) : = 2*A1 dans une autre. Lorsque l'on entre une valeur en
A1, le résultat est automatiquement mis à jour. La variable ici est le contenu de la cellule
A1.
On peut faire la même chose en VBA pour récupérer toutes les valeurs de y correspondant
aux X compris entre 0 et 10 :
Pour cela, un clic droit sur l'onglet de la feuille en bas permet de choisir "visualiser
le code".
Une page blanche s'ouvre dans ce qu'on appelle l'éditeur VBE.
Copie la macro suivante :
sub macromignonne()
for x= 0 to 10
y = 2*x
msgbox y
next x
end sub
Place ton curseur n'importe ou au milieu de cette macro et lance la avec la touche F5.
Tu verras des boites de dialogue qui te donnent les valeurs de Y pour les valeurs de X.
Bien sur on peut faire inscrire les résultats sur la feuille excel mais ce n'est pas le propos.
Dans cette macro, x et y sont des variables.
On peut laisser cette macro comme cela, sans "déclarer" ces variables, tu as vu
qu'elle
fonctionne. Mais dès que les macros deviennent plus sophistiquées, il est important de le
faire. L'instruction "option explicit" mise en haut d'un module rend cette
déclaration
obligatoire. C'est une très bonne habitude à prendre. Ca évite les confusions. Tu peux
donner des noms très descriptifs à tes variables comme résultatIntermédiaire. Si tu
déclares tes variables en mettant une ou plusieurs majuscules quelque part dans le nom,
lorsque tu les tapes dans ton code, si tu n'as pas fait de faute d'orthographe, excel
reconnait que c'est une variable et met tout seul la majuscule. Bonne façon de vérifier
que tu ne t'es pas trompé en l'écrivant. Par ailleurs la déclaration de varaible permet de
réserver un espace mémoire de taille variable pour l'utiliser.
Donc, pour utiliser une variable correctement voici les trois points importants :
1- déclaration
Le mot clé Dim sert à déclarer une variable, c'est à dire lui réserver un espace
mémoire et dire ce qu'elle va contenir : du texte, des nombres, une valeur vrai ou faux.... Le
mot clé As sert à spécifier le type d'une variable. Lorsqu'aucun
type n'est spécifié à la suite du nom de la variable, celle-ci est de type
Variant. Exemples de déclarations valides :
Dim x 'déclare le nom mais ne spécifie pas s'il s'agit d'un nombre, de texte.... Très utile
quand
tu ne le sais pas :-)) ou quand x peut changer de statut au cours d'une procédure
Dim y As Integer 'déclare un entier
Dim sht As Worksheet 'déclare un objet feuille de calcul
2- affectation
Il existe deux méthodes pour donner une valeur initiale à une variable ou
modifier sa valeur dans le code :
L'instruction Set est utilisée pour affecter une valeur à une variable dont le
type est un objet. Une simple égalité suffit pour tous les autres types.
Set sht = ThisWorkbook.Sheets("Feuil1") 'affecte Feuil1 à la variable sht
x="Texte" 'affecte la chaîne "Texte" à la variable x
y=21 'affecte la valeur 21 à la variable y
3- utilisation
Une fois initialisée, l'utilisation d'une variable dépend de son type. Si elle
est d'un type objet, elle peut permettre d'accéder aux propriétés disponibles
pour les objets de ce type, sinon elle peut être lue-écrite/manipulée avec des
données/méthodes-fonctions de/pour son type déclaré :
MsgBox sht.Name
MsgBox Mid(x,3,1)
MsgBox y*10
Voilà, en gros, et, je le répète, en théorie. En pratique, VBA (comme Visual
Basic et tous ses dérivés) tolère l'utilisation d'une variable non déclarée,
opère des transtypages à la volée (et sans rien dire à personne, par exemple
lorsque le type déclaré est "surdimensionné" par rapport à la valeur affectée),
attribue des valeurs par défaut aux variables déclarées mais non explicitement
initialisées et des propriétés par défaut aux objets, etc...
Toutes choses supposées faciliter la vie des programmeurs, notamment débutants,
mais qui ne font, AMHA, que leur (nous) donner de mauvaises habitudes...
Mais là, je m'éloigne un peu des variables :)
Tu peux aussi lire ceci
appliquer le même traitement à une série (variable !) d'éléments. Typiquement en maths dans
l'équation y= 2x, y est le résultat, x la variable.
Sur une feuille excel, on peut écrire la valeur que l'on veut donner à x dans une cellule
(disons A1), la formule (sans le y) : = 2*A1 dans une autre. Lorsque l'on entre une valeur en
A1, le résultat est automatiquement mis à jour. La variable ici est le contenu de la cellule
A1.
On peut faire la même chose en VBA pour récupérer toutes les valeurs de y correspondant
aux X compris entre 0 et 10 :
Pour cela, un clic droit sur l'onglet de la feuille en bas permet de choisir "visualiser
le code".
Une page blanche s'ouvre dans ce qu'on appelle l'éditeur VBE.
Copie la macro suivante :
sub macromignonne()
for x= 0 to 10
y = 2*x
msgbox y
next x
end sub
Place ton curseur n'importe ou au milieu de cette macro et lance la avec la touche F5.
Tu verras des boites de dialogue qui te donnent les valeurs de Y pour les valeurs de X.
Bien sur on peut faire inscrire les résultats sur la feuille excel mais ce n'est pas le propos.
Dans cette macro, x et y sont des variables.
On peut laisser cette macro comme cela, sans "déclarer" ces variables, tu as vu
qu'elle
fonctionne. Mais dès que les macros deviennent plus sophistiquées, il est important de le
faire. L'instruction "option explicit" mise en haut d'un module rend cette
déclaration
obligatoire. C'est une très bonne habitude à prendre. Ca évite les confusions. Tu peux
donner des noms très descriptifs à tes variables comme résultatIntermédiaire. Si tu
déclares tes variables en mettant une ou plusieurs majuscules quelque part dans le nom,
lorsque tu les tapes dans ton code, si tu n'as pas fait de faute d'orthographe, excel
reconnait que c'est une variable et met tout seul la majuscule. Bonne façon de vérifier
que tu ne t'es pas trompé en l'écrivant. Par ailleurs la déclaration de varaible permet de
réserver un espace mémoire de taille variable pour l'utiliser.
Donc, pour utiliser une variable correctement voici les trois points importants :
1- déclaration
Le mot clé Dim sert à déclarer une variable, c'est à dire lui réserver un espace
mémoire et dire ce qu'elle va contenir : du texte, des nombres, une valeur vrai ou faux.... Le
mot clé As sert à spécifier le type d'une variable. Lorsqu'aucun
type n'est spécifié à la suite du nom de la variable, celle-ci est de type
Variant. Exemples de déclarations valides :
Dim x 'déclare le nom mais ne spécifie pas s'il s'agit d'un nombre, de texte.... Très utile
quand
tu ne le sais pas :-)) ou quand x peut changer de statut au cours d'une procédure
Dim y As Integer 'déclare un entier
Dim sht As Worksheet 'déclare un objet feuille de calcul
2- affectation
Il existe deux méthodes pour donner une valeur initiale à une variable ou
modifier sa valeur dans le code :
L'instruction Set est utilisée pour affecter une valeur à une variable dont le
type est un objet. Une simple égalité suffit pour tous les autres types.
Set sht = ThisWorkbook.Sheets("Feuil1") 'affecte Feuil1 à la variable sht
x="Texte" 'affecte la chaîne "Texte" à la variable x
y=21 'affecte la valeur 21 à la variable y
3- utilisation
Une fois initialisée, l'utilisation d'une variable dépend de son type. Si elle
est d'un type objet, elle peut permettre d'accéder aux propriétés disponibles
pour les objets de ce type, sinon elle peut être lue-écrite/manipulée avec des
données/méthodes-fonctions de/pour son type déclaré :
MsgBox sht.Name
MsgBox Mid(x,3,1)
MsgBox y*10
Voilà, en gros, et, je le répète, en théorie. En pratique, VBA (comme Visual
Basic et tous ses dérivés) tolère l'utilisation d'une variable non déclarée,
opère des transtypages à la volée (et sans rien dire à personne, par exemple
lorsque le type déclaré est "surdimensionné" par rapport à la valeur affectée),
attribue des valeurs par défaut aux variables déclarées mais non explicitement
initialisées et des propriétés par défaut aux objets, etc...
Toutes choses supposées faciliter la vie des programmeurs, notamment débutants,
mais qui ne font, AMHA, que leur (nous) donner de mauvaises habitudes...
Mais là, je m'éloigne un peu des variables :)
Tu peux aussi lire ceci
Flo Cabon, Frédéric Sigonneau, (N°617)
Comment lancer automatiquement une macro au démarrage ?
Pour le lancement de ta macro
proprement dit, tu ouvres ton VBE (Alt + F11, par ex). puis tu portes
ton oeil gauche (parce que c'est le plus près) dans la liste Projet -
VBAProject dans la partie senestre de la fenêtre (ah! le poids des
mots!) où tu vas voir, dans l'arborescence de ton classeur que tu auras
pris le soin d'ouvrir au préalable, la liste des feuilles dudit classeur
et juste en dessous "ThisWorkbook" ; n'écoutant que ton courage, tu
double-cliques là-dessus, ce qui aura pour effet de faire apparaître
dans l'axe de ton oeil droit une fenêtre ; à partir de là, avec la plus
grande félinité, tu cliques sur toutes les petites flèches noires
dirigées au sud (sauf celle de l'ascenseur) jusqu'à ce que tu voies
s'afficher en haut à gauche Workbook et à droite Open, et aussi dans le
corps de la fenêtre, tu vas voir s'inscrire aussi :
Private Sub Workbook_Open()
End Sub
as-tu remarqué l'intervalle entre la première et la dernière ligne? oui?
formidouble car c'est là que tu vas taper benoîtement le nom de ta macro
(certains te diront de faire précéder le nom d'icelle de Call mais ne
les croie pas, ils font un zèle inutile) ; bien sûr, il faut que ta
macro ait été écrite dans un module de ton classeur ou de ton perso.xls
; tu enregistres ton travail directement depuis le VBE avec l'icône
disquette de la BO et à partir de là, chaque fois que tu ouvriras ton
classeur, la macro s'éxécutera...
si tu es un peu curieux, va voir dans la liste déroulante du "Open" de
la fenêtre et tu vas y trouver un tas d'évènements, dont, entre autres,
un "BeforeClose" qui te permet d'éxécuter une macro, non plus à
l'ouverture, mais à la fermeture cette fois-ci ; tu vois, moi, par
exemple, avec ce système, j'ai écrit une macro qui fait ce que les
hôteliers appellent la couverture, c'est à dire qu'elle ouvre mon lit,
elle tapote l'oreiller, elle met la sonnerie du réveil, allume la télé
avec une boucle disant à peu près ceci :
For Each chaîne In TV set
If chaîne.castings.value = conneries Then chaîne.Open
(mon problème avec une telle proc, c'est qu'elle veut ouvrir toutes les
chaînes en même temps, surtout en campagne électorale)
elle éteint ensuite la télé grâce à un Timer qui vérifie l'écartement
entre mes deux paupières pour ouvrir enfin un fichier .wav tout de suite
refermée par ma voisine de lit qui, d'un grand coup de pied dans les
mollets, me fait comprendre qu'elle n'apprécie pas ce genre de musique
basée sur l'émission de borborygmes, hoquets et autres sifflements
nasaux....
tout ça pour te dire, que rien de tel qu'une proc
évenementielle pour se faire plaisir avec excel...
proprement dit, tu ouvres ton VBE (Alt + F11, par ex). puis tu portes
ton oeil gauche (parce que c'est le plus près) dans la liste Projet -
VBAProject dans la partie senestre de la fenêtre (ah! le poids des
mots!) où tu vas voir, dans l'arborescence de ton classeur que tu auras
pris le soin d'ouvrir au préalable, la liste des feuilles dudit classeur
et juste en dessous "ThisWorkbook" ; n'écoutant que ton courage, tu
double-cliques là-dessus, ce qui aura pour effet de faire apparaître
dans l'axe de ton oeil droit une fenêtre ; à partir de là, avec la plus
grande félinité, tu cliques sur toutes les petites flèches noires
dirigées au sud (sauf celle de l'ascenseur) jusqu'à ce que tu voies
s'afficher en haut à gauche Workbook et à droite Open, et aussi dans le
corps de la fenêtre, tu vas voir s'inscrire aussi :
Private Sub Workbook_Open()
End Sub
as-tu remarqué l'intervalle entre la première et la dernière ligne? oui?
formidouble car c'est là que tu vas taper benoîtement le nom de ta macro
(certains te diront de faire précéder le nom d'icelle de Call mais ne
les croie pas, ils font un zèle inutile) ; bien sûr, il faut que ta
macro ait été écrite dans un module de ton classeur ou de ton perso.xls
; tu enregistres ton travail directement depuis le VBE avec l'icône
disquette de la BO et à partir de là, chaque fois que tu ouvriras ton
classeur, la macro s'éxécutera...
si tu es un peu curieux, va voir dans la liste déroulante du "Open" de
la fenêtre et tu vas y trouver un tas d'évènements, dont, entre autres,
un "BeforeClose" qui te permet d'éxécuter une macro, non plus à
l'ouverture, mais à la fermeture cette fois-ci ; tu vois, moi, par
exemple, avec ce système, j'ai écrit une macro qui fait ce que les
hôteliers appellent la couverture, c'est à dire qu'elle ouvre mon lit,
elle tapote l'oreiller, elle met la sonnerie du réveil, allume la télé
avec une boucle disant à peu près ceci :
For Each chaîne In TV set
If chaîne.castings.value = conneries Then chaîne.Open
(mon problème avec une telle proc, c'est qu'elle veut ouvrir toutes les
chaînes en même temps, surtout en campagne électorale)
elle éteint ensuite la télé grâce à un Timer qui vérifie l'écartement
entre mes deux paupières pour ouvrir enfin un fichier .wav tout de suite
refermée par ma voisine de lit qui, d'un grand coup de pied dans les
mollets, me fait comprendre qu'elle n'apprécie pas ce genre de musique
basée sur l'émission de borborygmes, hoquets et autres sifflements
nasaux....
tout ça pour te dire, que rien de tel qu'une proc
évenementielle pour se faire plaisir avec excel...
Jean-Paul Sabatier, (N°616)
J'ai trouvé sur le forum le code pour écrire une fonction qui m'intéresse. Mais que dois-je
faire de ce code ?
Dans le classeur dans lequel je souhaite utiliser la fonction VBA, je vais
par Alt-F11 dans le module VBA.
Je clique sur VBAProject(classeur1) qui correspond à ce nouveau document.
Clic droit, choix insertion module.
Dans le module qui s'est ouvert vierge à droite, je colle le code que j'ai
copié sur le forum (ou ailleurs !).
Pour que la fonction soit accessible depuis le fichier, je rajoute au début
:
Sub DateChinoise (par exemple).
J'ai compris que ce nom de fonction doit être en un seul mot.
Le système rajoute en dessous un "End Sub".
Entre les deux, je rajoute un commentaire dont chaque ligne est cotée (c'est
à dire précédé de l'apostrophe).
Je retourne sous excel et la fonction est disponible dans les fonctions
personnalisées.
Ceci présente l'avantage de rendre la fonction disponible la où le fichier
est installé, ce qui est pratique quand on change souvent de poste et que
l'on travaille sur un doc que l'on emporte avec soit.
Si tu veux pouvoir utiliser cette fonction dans tous tes classeurs, il faut la mettre dans le
perso.xls (va voir sur la page fichiers).
par Alt-F11 dans le module VBA.
Je clique sur VBAProject(classeur1) qui correspond à ce nouveau document.
Clic droit, choix insertion module.
Dans le module qui s'est ouvert vierge à droite, je colle le code que j'ai
copié sur le forum (ou ailleurs !).
Pour que la fonction soit accessible depuis le fichier, je rajoute au début
:
Sub DateChinoise (par exemple).
J'ai compris que ce nom de fonction doit être en un seul mot.
Le système rajoute en dessous un "End Sub".
Entre les deux, je rajoute un commentaire dont chaque ligne est cotée (c'est
à dire précédé de l'apostrophe).
Je retourne sous excel et la fonction est disponible dans les fonctions
personnalisées.
Ceci présente l'avantage de rendre la fonction disponible la où le fichier
est installé, ce qui est pratique quand on change souvent de poste et que
l'on travaille sur un doc que l'on emporte avec soit.
Si tu veux pouvoir utiliser cette fonction dans tous tes classeurs, il faut la mettre dans le
perso.xls (va voir sur la page fichiers).
CFrofro, (N°615)
J'entends parler de l'enregistreur de macro mais c'est quoi et c'est où cette bête là ?
Si tu veux automatiser une tache que tu fais souvent ou que tu dois répéter par exemple
sur un grand nombre de cellules, tu peux enregistrer la séquence d'instructions à
répéter.
Va dans le menu outils/macro/ nouvelle macro.
Par défaut cette macro que tu vas enregistrer s'appelle macro1. Tu peux changer ce nom
pour en mettre un plus descriptif (tu pourras aussi le faire plus tard)
Dans la boîte description, il est inscrit par défaut "macro enregistrée le (date du
jour) par (nom du licencié excel)". Tu peux modifier ce commentaire et là encore en
profiter pour expliquer le but de la macro.
Tu as la possibilité d'ajouter un raccourci clavier.
Tu as aussi un petit menu déroulant qui te permet de choisir dans quel classeur tu veux
que ta macro soit enregistrée.
Si tu veux qu'elle soit disponible dans tous tes classeurs tu peux
l'enregistrer dans le perso.xls (voir cette rubrique sur la page href="fichiers.php#perso">fichiers)
Pour t'entraîner, choisis "dans ce classeur". La macro sera enregistrée seulement dans le
classeur actif et détruite avec le cas échéant.
Tu cliques sur OK, il apparait alors une petite barre d'outils flottante marquée arrêt.
Dans cette barre tu as deux boutons, l'un servira à arrêter ta macro quand tu auras fait
tout
ce que tu voulais automatiser, l'autre représente un bout de feuille excel et sert à
déterminer
si tu veux enregistrer tes macros en références relatives ou en références absolues. (ne
t'occupes pas de cela pour le moment si tu ne vois pas ce que cela veut dire).
A partir de ce moment, tout ce que tu feras pourra être retenu contre toi
:-) puisque mémorisé à l'exception de quelques manipulations telles que
lancer d'autres application ou faire des sélections successives.
Tu fais l'ensemble des manipulations que tu veux enregistrer
Quand tu as fini, tu n'oublies surtout pas d'arrêter la macro (arrêt dans la
barre d'outils ou Outils - macro - arrêter macro).
Tu peux relancer ta macro enregistrée à partir de outils - macros ou tu
fais apparaître la liste des macros disponibles pour ce classeur.
Tu peux aussi aller regarder le code généré par l'enregistreur. Pour cela tu vas dans
outils/macros/visual basic editor (VBE) ou plus simple tu tapes alt+F11 ou encore plus
simple tu mets le bouton VBE dans ta barre d'outils.
Dans la partie gauche de l'éditeur tu as une liste des classeurs en cours (plus
éventuellement des macros complémentaires style eurotool). Dans ton classeur tu as un
dossier nommé modules.
Ouvre le, dedans il y a un fichier nommé module 1. Double cliques dessus et là tu vois
apparaitre le code.
Quelques remarques sur ce code :
Microsoft est en général très bavard et beaucoup des instructions peuvent être supprimées
sans risque. Si tu veux t'essayer à ce petit jeu sans risque, met une apostrophe simple
au
début de chaque ligne dont tu veux tester la suppression.
Cela a pour effet de mettre la ligne en commentaire (elle change d'ailleurs de couleur).
Si tu t'aperçois que ta macro ne fonctionne plus, tu enlèves juste l'apostrophe.
L'analyse de ce code est riche d'enseignement. Même les plus costauds y ont recours : il
est souvent bien plus simple de lancer l'enregistreur pour avoir le début du code dont on
a
besoin, ou pour retrouver la syntaxe d'une instruction que de tout écrire à la main.
Tu verras assez vite que l'on ne peut pas tout faire avec l'enregistreur. Par exemple tu
ne peux pas lui dire : fais ceci sur toutes les cellules bleues ou fais cela tant que la
valeur de la cellule A1 est égale à 20... Il y a beaucoup d'autres limitations mais là, tu
peux
écrire directement tes macros dans VBE.
Bienvenue au club !
sur un grand nombre de cellules, tu peux enregistrer la séquence d'instructions à
répéter.
Va dans le menu outils/macro/ nouvelle macro.
Par défaut cette macro que tu vas enregistrer s'appelle macro1. Tu peux changer ce nom
pour en mettre un plus descriptif (tu pourras aussi le faire plus tard)
Dans la boîte description, il est inscrit par défaut "macro enregistrée le (date du
jour) par (nom du licencié excel)". Tu peux modifier ce commentaire et là encore en
profiter pour expliquer le but de la macro.
Tu as la possibilité d'ajouter un raccourci clavier.
Tu as aussi un petit menu déroulant qui te permet de choisir dans quel classeur tu veux
que ta macro soit enregistrée.
Si tu veux qu'elle soit disponible dans tous tes classeurs tu peux
l'enregistrer dans le perso.xls (voir cette rubrique sur la page href="fichiers.php#perso">fichiers)
Pour t'entraîner, choisis "dans ce classeur". La macro sera enregistrée seulement dans le
classeur actif et détruite avec le cas échéant.
Tu cliques sur OK, il apparait alors une petite barre d'outils flottante marquée arrêt.
Dans cette barre tu as deux boutons, l'un servira à arrêter ta macro quand tu auras fait
tout
ce que tu voulais automatiser, l'autre représente un bout de feuille excel et sert à
déterminer
si tu veux enregistrer tes macros en références relatives ou en références absolues. (ne
t'occupes pas de cela pour le moment si tu ne vois pas ce que cela veut dire).
A partir de ce moment, tout ce que tu feras pourra être retenu contre toi
:-) puisque mémorisé à l'exception de quelques manipulations telles que
lancer d'autres application ou faire des sélections successives.
Tu fais l'ensemble des manipulations que tu veux enregistrer
Quand tu as fini, tu n'oublies surtout pas d'arrêter la macro (arrêt dans la
barre d'outils ou Outils - macro - arrêter macro).
Tu peux relancer ta macro enregistrée à partir de outils - macros ou tu
fais apparaître la liste des macros disponibles pour ce classeur.
Tu peux aussi aller regarder le code généré par l'enregistreur. Pour cela tu vas dans
outils/macros/visual basic editor (VBE) ou plus simple tu tapes alt+F11 ou encore plus
simple tu mets le bouton VBE dans ta barre d'outils.
Dans la partie gauche de l'éditeur tu as une liste des classeurs en cours (plus
éventuellement des macros complémentaires style eurotool). Dans ton classeur tu as un
dossier nommé modules.
Ouvre le, dedans il y a un fichier nommé module 1. Double cliques dessus et là tu vois
apparaitre le code.
Quelques remarques sur ce code :
Microsoft est en général très bavard et beaucoup des instructions peuvent être supprimées
sans risque. Si tu veux t'essayer à ce petit jeu sans risque, met une apostrophe simple
au
début de chaque ligne dont tu veux tester la suppression.
Cela a pour effet de mettre la ligne en commentaire (elle change d'ailleurs de couleur).
Si tu t'aperçois que ta macro ne fonctionne plus, tu enlèves juste l'apostrophe.
L'analyse de ce code est riche d'enseignement. Même les plus costauds y ont recours : il
est souvent bien plus simple de lancer l'enregistreur pour avoir le début du code dont on
a
besoin, ou pour retrouver la syntaxe d'une instruction que de tout écrire à la main.
Tu verras assez vite que l'on ne peut pas tout faire avec l'enregistreur. Par exemple tu
ne peux pas lui dire : fais ceci sur toutes les cellules bleues ou fais cela tant que la
valeur de la cellule A1 est égale à 20... Il y a beaucoup d'autres limitations mais là, tu
peux
écrire directement tes macros dans VBE.
Bienvenue au club !
Flo Cabon,
Ajouté ou modifié le 16/04/2004 (N°614)
Ajouté ou modifié le 16/04/2004 (N°614)
Comment trouver en VBA la dernière cellule non vide d'une colonne ?
Avec un raccourci clavier : mets toi sur la première cellule de ta colonne
ctrl + flèche vers le bas. Mais attention, excel s'arrête chaque fois qu'il trouve une
cellule vide.
Par VBA : ce code est donc à inclure dans une macro (exemple ci dessous)
Pour trouver la dernière cellule remplie de la colonne C :
1° possiblité :
LaDerniere = range("C1"). end(xldown)
pb : si il n'y a rien en C1, excel plante. Si il y a des cellules vides dans la colonne,
excel s'arrêtera sur la cellule au dessus du premier vide.
on préferera donc et de loin la seconde solution qui évite ces deux écueils:
2° possibilité :
La Derniere= range("C65536").End(XlUp)
Il y a 65536 lignes dans excel donc la C65536 est la dernière. Excel part de cette
cellule et remonte la colonne jusqu'à ce qu'il trouve une cellule pleine.
Et pour sélectionner la cellule qui est juste en dessous de cette dernière ?
Utilise offset (décaler en français... mais VBA cause seulement le grand breton)
La PremiereDisponible = range ("C65536"). End(XlUp).offset(1,0)
le 1 dit à excel de décaler de 1 ligne et le 0 de rester dans la même colonne.
On peut faire la même chose avec les lignes ?
Oui !
range("IV34").end(xltoleft).offset(0,1) te trouve la première cellule vide sur
la ligne 34
Et si maintenant, je voudrais qu'excel se positionne à l'ouverture du classeur sur la
dernière cellule pleine de la colonne A ?
Première chose : ouvre l'éditeur VBA par alt+F11
tu vois apparaitre à gauche un explorateur. Ouvre le dossier correspondant à
ton classeur (VBA project(toto) si ton classeur s'appelle toto.xls.
tu vois une page nommée ThisWorkbook. Ouvre la. La macro est à placer sur
cette feuille puisque tu veux que cette macro fonctionne à l'ouverture
du classeur. Cette page gère les événements qui s'effectuent sur le classeur
lorsqu'on l'ouvre, ou qu'on l'enregistre ou qu'on l'imprime par exemple.
En haut de cette page, tu as deux menus déroulants. A l'ouverture le premier
indique (Général) le second (déclarations). Sélectionne dans le menu de
gauche "workbook". Le menu de droite se met automatiquement sur
"open" et tu vois s'inscrire dans ta page
Private Sub Workbook_Open()
End Sub
(si tu voulais gérer une macro s'exécutant à la fermeture, à ce stade, tu devrais aller
modifier le menu de droite pour y selectionner par exemple beforeclose)
Colle en dessous de private sub...
Pour sélectionner la dernière celle de la colonne A :
Range("a65536").End(xlUp).Select
Pour connaitre le N° de la ligne de cette cellule:
Range("a65536").End(xlUp).row
Explication : on prend la dernière cellule possible de la colonne (A65536) et avec
end(xlup) on remonte jusqu'à trouver une cellule remplie.
On pourrait aussi prendre la première cellule (A1) et descendre :
range("A1").end(xldown)
mais attention : si la colonne est vide ou ne contient qu'une cellule, cette instruction
renvoie une erreur.
De plus, si dans ta colonne il y a des cellules vides, excel considérera celles-ci
comme ta fin de colonne alors que c'est faux.
Et comment sélectionner la première cellule vide maintenant ?
Range("a65536").End(xlUp).offset(1,0)
Offset (décaler) décale ici la cellule de 1 ligne et de 0 colonne.
Donc si la dernière cellule pleine est A23, cette instruction te renvoie A24, et tu peux
y coller de nouvelles données.
Et enfin, comment sélectionner la plage de données allant de A1 jusqu'à la dernière
cellule remplie de la colonne A ?
Truc=range("A1:A" & [A65536].end(xlup).row)
explication : dans un "range" tu peux utiliser le signe & pour concaténer différents
éléments.
Ici la seconde partie de l'expression :
[A65536].end(xlup).row renvoie le N° de la ligne (row) occupée par la dernière cellule
non vide de la colonne A.
(rappel : [A65536] est équivalent à evaluate(range"A65536").
ctrl + flèche vers le bas. Mais attention, excel s'arrête chaque fois qu'il trouve une
cellule vide.
Par VBA : ce code est donc à inclure dans une macro (exemple ci dessous)
Pour trouver la dernière cellule remplie de la colonne C :
1° possiblité :
LaDerniere = range("C1"). end(xldown)
pb : si il n'y a rien en C1, excel plante. Si il y a des cellules vides dans la colonne,
excel s'arrêtera sur la cellule au dessus du premier vide.
on préferera donc et de loin la seconde solution qui évite ces deux écueils:
2° possibilité :
La Derniere= range("C65536").End(XlUp)
Il y a 65536 lignes dans excel donc la C65536 est la dernière. Excel part de cette
cellule et remonte la colonne jusqu'à ce qu'il trouve une cellule pleine.
Et pour sélectionner la cellule qui est juste en dessous de cette dernière ?
Utilise offset (décaler en français... mais VBA cause seulement le grand breton)
La PremiereDisponible = range ("C65536"). End(XlUp).offset(1,0)
le 1 dit à excel de décaler de 1 ligne et le 0 de rester dans la même colonne.
On peut faire la même chose avec les lignes ?
Oui !
range("IV34").end(xltoleft).offset(0,1) te trouve la première cellule vide sur
la ligne 34
Et si maintenant, je voudrais qu'excel se positionne à l'ouverture du classeur sur la
dernière cellule pleine de la colonne A ?
Première chose : ouvre l'éditeur VBA par alt+F11
tu vois apparaitre à gauche un explorateur. Ouvre le dossier correspondant à
ton classeur (VBA project(toto) si ton classeur s'appelle toto.xls.
tu vois une page nommée ThisWorkbook. Ouvre la. La macro est à placer sur
cette feuille puisque tu veux que cette macro fonctionne à l'ouverture
du classeur. Cette page gère les événements qui s'effectuent sur le classeur
lorsqu'on l'ouvre, ou qu'on l'enregistre ou qu'on l'imprime par exemple.
En haut de cette page, tu as deux menus déroulants. A l'ouverture le premier
indique (Général) le second (déclarations). Sélectionne dans le menu de
gauche "workbook". Le menu de droite se met automatiquement sur
"open" et tu vois s'inscrire dans ta page
Private Sub Workbook_Open()
End Sub
(si tu voulais gérer une macro s'exécutant à la fermeture, à ce stade, tu devrais aller
modifier le menu de droite pour y selectionner par exemple beforeclose)
Colle en dessous de private sub...
Pour sélectionner la dernière celle de la colonne A :
Range("a65536").End(xlUp).Select
Pour connaitre le N° de la ligne de cette cellule:
Range("a65536").End(xlUp).row
Explication : on prend la dernière cellule possible de la colonne (A65536) et avec
end(xlup) on remonte jusqu'à trouver une cellule remplie.
On pourrait aussi prendre la première cellule (A1) et descendre :
range("A1").end(xldown)
mais attention : si la colonne est vide ou ne contient qu'une cellule, cette instruction
renvoie une erreur.
De plus, si dans ta colonne il y a des cellules vides, excel considérera celles-ci
comme ta fin de colonne alors que c'est faux.
Et comment sélectionner la première cellule vide maintenant ?
Range("a65536").End(xlUp).offset(1,0)
Offset (décaler) décale ici la cellule de 1 ligne et de 0 colonne.
Donc si la dernière cellule pleine est A23, cette instruction te renvoie A24, et tu peux
y coller de nouvelles données.
Et enfin, comment sélectionner la plage de données allant de A1 jusqu'à la dernière
cellule remplie de la colonne A ?
Truc=range("A1:A" & [A65536].end(xlup).row)
explication : dans un "range" tu peux utiliser le signe & pour concaténer différents
éléments.
Ici la seconde partie de l'expression :
[A65536].end(xlup).row renvoie le N° de la ligne (row) occupée par la dernière cellule
non vide de la colonne A.
(rappel : [A65536] est équivalent à evaluate(range"A65536").
Flo Cabon,
Ajouté ou modifié le 09/04/2005 (N°613)
Ajouté ou modifié le 09/04/2005 (N°613)
Comment faire pour apprendre excel ?
Avant de foncer chez ton libraire, voici quelques conseils très utiles donnés par
un des MVP (most valuable professionnals = experts microsofts) américains.
Je l'ai juste un peu complété pour les francophones.
Au cas où tu serais fatigué de lire, voici un guide des ressources sur
excel que j'ai préparé en réponse à la question "comment devenir un
expert sur excel"
Avant de commencer, juste une chose : n'essaie pas tant d'apprendre
excel que de comprendre ce qu'excel fait et pourquoi. Je pense que de
se poser continuellement cette question permet de rentrer dans excel
bien plus que d'essayer de se souvenir d'étapes ou de techniques particulières.
Voici une liste de ressources pour excel :
La première, c'est toi même ! Peu d'experts ont acquis leurs connaissances
autrement qu'en se prenant la tête avec leur clavier à essayer de trouver
une solution à leurs problèmes. C'est parfois frustrant mais même les
impasses sont riches d'enseignements, les succès sont très gratifiants
et les trucs difficiles deviennent de plus en plus faciles au fur et à
mesure des progrès.
J'utilise un programme nommé href="http://www.netcaptor.com/">NetCaptor
qui permet de faire des copies
multipages d'explorer et j'ai créé des "captor groups" qui me permettent
de regrouper les sites web en trois catégories :
Sites essentiels
Sites complémentaires
Sites microsoft
Sites essentiels :
Chip Pearson:
http://www.cpearson.com
N° 1 au palmarès parce que son index est limpide et son contenu très large
Dave McRitchie
href="http://www.mvps.org/dmcritchie/excel">http://www.mvps.org/dmcritchie/excel
Son index est cependant moins accessible
John Walkenbach
href="http://j-walk.com/ss/excel/index.php">http://j-walk.com/ss/excel/index.php
Des tas d'add-ins et d'exemples téléchargeables écrits par le plus populaire rédacteur de
livres sur excel.
John Raffensperger
href="http://spreadsheetstyle.com/links/links.php">http://spreadsheetstyle.com/links/links
php
Parce qu'il maintient une liste très à jour de nombreux sites web sur excel
(anglophones).
Pour les francophones :
http://excelabo.net (vous y êtes !)
http://xcell05.free.fr
http://jacxl.free.fr
href="http://perso.wanadoo.fr/frederic.sigonneau">http://perso.wanadoo.fr/frederic.sigonne
u
Vous trouverez d'autres liens, commentés, dans la page href="../moteurs/exceliens.php>liens d'excelabo, avec un petit moteur de recherche
pour sélectionner ceux qui correspondent à vos critères.
Site spécial :
href="http://www.bmsltd.ie/Excel/Default.php">http://www.bmsltd.ie/Excel/Default.php
href="http://contextures.com/tiptech.html">http://contextures.com/tiptech.html
href="http://www.erlandsendata.no/english/index.php">http://www.erlandsendata.no/english/i
dex.php
http://www.mvps.org/vb/
href="http://www.decisionmodels.com/calcsecretsj.php">http://www.decisionmodels.com/calcse
rets.php
http://www.vbapro.com
href="http://www.rb-ad.dircon.co.uk/rob/excelvba/tips/index.php">http://www.rb-ad.dircon.c
.uk/rob/excelvba/tips/index.php
href="http://www.pcmag.com/category2/0,4148,29,00.asp">http://www.pcmag.com/category2/0,41
8,29,00.asp
http://www.tushar-mehta.com/
MICROSOFT
href="http://support.microsoft.com/default.aspx?scid=fh;en-us;kbinfo">http://support.micro
oft.com/default.aspx?scid=fh;en-us;kbinfo
href="http://www.microsoft.com/downloads/search.asp?">http://www.microsoft.com/downloads/s
arch.asp?
http://www.microsoft.com/
href="http://support.microsoft.com/default.aspx?scid=/support/Excel/Content/CoolTips/cool.
asp#E0E28">http://support.microsoft.com/default.aspx?scid=/support/Excel/Content/CoolTips/
ool.asp#E0E28
NEWSGROUPS
En français il n'y en a en 2005 qu'un seul groupe de discussion maintenu par microsoft :
microsoft.public.fr.excel.
Et nous sommes une très grande majorité à tenir au fait qu'il n'y ait qu'un seul groupe
D'autres sont disponibles sur des sites privés mais le niveau est généralement moins bon.
Mais n'oubliez pas les newsgroups. C'est l'outil d'apprentissage N°1 sur le net. Posez
une
question et en général en moins d'une heure vous avez une ou deux ou trois réponses.
Les intervenants sont tous des volontaires qui partagent avec plaisir et gratuitement
leur
expertise. Ce n'est pas un altruisme total de leur part car ils savent que c'est aussi et
de loin la meilleure façon pour eux d'étendre leurs connaissances et de rester au tip top
de leurs compétences pour résoudre des problèmes qu'ils rencontrent (ou qu'ils pourraient
bien ne pas réaliser qu'ils ont !). La plupart du temps vous aurez une solution ou une
adresse ou aller pour trouver des références complémentaires ou plus détaillées.
Vous pouvez aussi acquérir une réelle connaissance en lisant les réponses à des questions
posées par d'autres et même encore mieux en tentant de répondre vous même, même si au
début vous ne postez pas vos réponses, et vous contentez de vérifier si vous aviez trouvé
la bonne solution. En tous cas ne soyez pas inquiet de dire des bourdes. Nous en faisons
tous et je n'ai encore trouvé personne qui ne soit traité avec respect quand il essaie
d'aider ou lorsqu'il a besoin d'aide.
Les 3 newsgroups anglophones les plus fréquentés sont :
microsoft.public.excel.misc
microsoft.public.excel.programming
microsoft.public.excel.worksheet.functions
Poste sur un seul de ces groupes à la fois et sélectionne celui qui paraît le plus
approprié.
En cas de doutes utilise misc mais de toutes façons tu auras probablement une réponse,
quelque soit le groupe.
Mais n'attache jamais de fichier joint (même si c'est techniquement
possible). C'est très peu apprécié, car cela oblige à le télécharger et à payer pour cela
et que les virus sont aussi un rique réel. Souvent le simple fait de décrire ton problème
apporte la solution avant même d'avoir fini de la poser (ou parfois surgit juste au
moment où tu appuies sur "envoyer" !).
Si vraiment tu veux joindre un fichier utilise ce site:http://cjoint.com
Sois sur de te connecter en utilisant le serveur de news de microsoft
(msnews.microsoft.com) et un logiciel de lecteur de news comme mozilla thunderbird ou
outlookexpress.
Tu trouveras sur la page MPFE/connection des explications détaillées sur la façon de
faire et des copies d'écran pour entrer les paramétrages (simples !) nécessaires. Prends
aussi
le temps de lire les quelques règles d'usage des forums pour éviter de prendre les GC
(gentils contributeurs) à rebrousse poil !
LIVRES
Il n'y a cependant pas mieux qu'un bon bouquin pour avoir une vison gloable et structurée
du domaine. Tu peux faire une recherche sur ce qui est aujourd'hui disponible sur
http://www.amazon.com
http://www.amazon.fr
http://fnac.com
Utilise leurs outils de recherche et lis les commentaires postés par les lecteurs.
John Walkenbach est un meilleurs auteurs sur le sujet et beaucoup ne jurent que par (ou
même sur) sa trilogie : Excel 2002 Bible, Excel 2002 Power Programming with VBA et Excel
2002 Formulas.
Pour une liste récente de références vois sur le site de Debra Dalgleish
href="http://contextures.com/tiptech.phpl">http://contextures.com/tiptech.phpl
Et pour une liste en Français de Fripouillot, chez Daniel:
href="http://dj.joss.free.fr/faq.php#lecteur">http://dj.joss.free.fr/faq.php#lecteur
Sans oublier le CD de formation avec des astuces animées de Gaétan Mourmant.
Tu peux l'acheter sur son site (44€) :
http://www.polykromy.com/
ENFIN
N'oublie pas l'aide en ligne vendue avec excel. Trop de gens la pensent inexploitable.
C'est parfois vrai mais au fur et à mesure des versions, elle s'améliore.
Tout ceci devrait t'occuper un moment ! Mais n'oublie pas qu'une des joies d'excel c'est
que ce logiciel est si large et si profond qu'on n'en connait jamais toutes les arcanes.
Et puis il y a tant d'applications différentes suivant les disciplines et sous disciplines
que tu n'en finiras pas de trouver des astuces cachées.
(traduc libre et adaptation pour les francophones de Flo Cabon)
un des MVP (most valuable professionnals = experts microsofts) américains.
Je l'ai juste un peu complété pour les francophones.
Au cas où tu serais fatigué de lire, voici un guide des ressources sur
excel que j'ai préparé en réponse à la question "comment devenir un
expert sur excel"
Avant de commencer, juste une chose : n'essaie pas tant d'apprendre
excel que de comprendre ce qu'excel fait et pourquoi. Je pense que de
se poser continuellement cette question permet de rentrer dans excel
bien plus que d'essayer de se souvenir d'étapes ou de techniques particulières.
Voici une liste de ressources pour excel :
La première, c'est toi même ! Peu d'experts ont acquis leurs connaissances
autrement qu'en se prenant la tête avec leur clavier à essayer de trouver
une solution à leurs problèmes. C'est parfois frustrant mais même les
impasses sont riches d'enseignements, les succès sont très gratifiants
et les trucs difficiles deviennent de plus en plus faciles au fur et à
mesure des progrès.
J'utilise un programme nommé href="http://www.netcaptor.com/">NetCaptor
qui permet de faire des copies
multipages d'explorer et j'ai créé des "captor groups" qui me permettent
de regrouper les sites web en trois catégories :
Sites essentiels
Sites complémentaires
Sites microsoft
Sites essentiels :
Chip Pearson:
http://www.cpearson.com
N° 1 au palmarès parce que son index est limpide et son contenu très large
Dave McRitchie
href="http://www.mvps.org/dmcritchie/excel">http://www.mvps.org/dmcritchie/excel
Son index est cependant moins accessible
John Walkenbach
href="http://j-walk.com/ss/excel/index.php">http://j-walk.com/ss/excel/index.php
Des tas d'add-ins et d'exemples téléchargeables écrits par le plus populaire rédacteur de
livres sur excel.
John Raffensperger
href="http://spreadsheetstyle.com/links/links.php">http://spreadsheetstyle.com/links/links
php
Parce qu'il maintient une liste très à jour de nombreux sites web sur excel
(anglophones).
Pour les francophones :
http://excelabo.net (vous y êtes !)
http://xcell05.free.fr
http://jacxl.free.fr
href="http://perso.wanadoo.fr/frederic.sigonneau">http://perso.wanadoo.fr/frederic.sigonne
u
Vous trouverez d'autres liens, commentés, dans la page href="../moteurs/exceliens.php>liens d'excelabo, avec un petit moteur de recherche
pour sélectionner ceux qui correspondent à vos critères.
Site spécial :
href="http://www.bmsltd.ie/Excel/Default.php">http://www.bmsltd.ie/Excel/Default.php
href="http://contextures.com/tiptech.html">http://contextures.com/tiptech.html
href="http://www.erlandsendata.no/english/index.php">http://www.erlandsendata.no/english/i
dex.php
http://www.mvps.org/vb/
href="http://www.decisionmodels.com/calcsecretsj.php">http://www.decisionmodels.com/calcse
rets.php
http://www.vbapro.com
href="http://www.rb-ad.dircon.co.uk/rob/excelvba/tips/index.php">http://www.rb-ad.dircon.c
.uk/rob/excelvba/tips/index.php
href="http://www.pcmag.com/category2/0,4148,29,00.asp">http://www.pcmag.com/category2/0,41
8,29,00.asp
http://www.tushar-mehta.com/
MICROSOFT
href="http://support.microsoft.com/default.aspx?scid=fh;en-us;kbinfo">http://support.micro
oft.com/default.aspx?scid=fh;en-us;kbinfo
href="http://www.microsoft.com/downloads/search.asp?">http://www.microsoft.com/downloads/s
arch.asp?
http://www.microsoft.com/
href="http://support.microsoft.com/default.aspx?scid=/support/Excel/Content/CoolTips/cool.
asp#E0E28">http://support.microsoft.com/default.aspx?scid=/support/Excel/Content/CoolTips/
ool.asp#E0E28
NEWSGROUPS
En français il n'y en a en 2005 qu'un seul groupe de discussion maintenu par microsoft :
microsoft.public.fr.excel.
Et nous sommes une très grande majorité à tenir au fait qu'il n'y ait qu'un seul groupe
D'autres sont disponibles sur des sites privés mais le niveau est généralement moins bon.
Mais n'oubliez pas les newsgroups. C'est l'outil d'apprentissage N°1 sur le net. Posez
une
question et en général en moins d'une heure vous avez une ou deux ou trois réponses.
Les intervenants sont tous des volontaires qui partagent avec plaisir et gratuitement
leur
expertise. Ce n'est pas un altruisme total de leur part car ils savent que c'est aussi et
de loin la meilleure façon pour eux d'étendre leurs connaissances et de rester au tip top
de leurs compétences pour résoudre des problèmes qu'ils rencontrent (ou qu'ils pourraient
bien ne pas réaliser qu'ils ont !). La plupart du temps vous aurez une solution ou une
adresse ou aller pour trouver des références complémentaires ou plus détaillées.
Vous pouvez aussi acquérir une réelle connaissance en lisant les réponses à des questions
posées par d'autres et même encore mieux en tentant de répondre vous même, même si au
début vous ne postez pas vos réponses, et vous contentez de vérifier si vous aviez trouvé
la bonne solution. En tous cas ne soyez pas inquiet de dire des bourdes. Nous en faisons
tous et je n'ai encore trouvé personne qui ne soit traité avec respect quand il essaie
d'aider ou lorsqu'il a besoin d'aide.
Les 3 newsgroups anglophones les plus fréquentés sont :
microsoft.public.excel.misc
microsoft.public.excel.programming
microsoft.public.excel.worksheet.functions
Poste sur un seul de ces groupes à la fois et sélectionne celui qui paraît le plus
approprié.
En cas de doutes utilise misc mais de toutes façons tu auras probablement une réponse,
quelque soit le groupe.
Mais n'attache jamais de fichier joint (même si c'est techniquement
possible). C'est très peu apprécié, car cela oblige à le télécharger et à payer pour cela
et que les virus sont aussi un rique réel. Souvent le simple fait de décrire ton problème
apporte la solution avant même d'avoir fini de la poser (ou parfois surgit juste au
moment où tu appuies sur "envoyer" !).
Si vraiment tu veux joindre un fichier utilise ce site:http://cjoint.com
Sois sur de te connecter en utilisant le serveur de news de microsoft
(msnews.microsoft.com) et un logiciel de lecteur de news comme mozilla thunderbird ou
outlookexpress.
Tu trouveras sur la page MPFE/connection des explications détaillées sur la façon de
faire et des copies d'écran pour entrer les paramétrages (simples !) nécessaires. Prends
aussi
le temps de lire les quelques règles d'usage des forums pour éviter de prendre les GC
(gentils contributeurs) à rebrousse poil !
LIVRES
Il n'y a cependant pas mieux qu'un bon bouquin pour avoir une vison gloable et structurée
du domaine. Tu peux faire une recherche sur ce qui est aujourd'hui disponible sur
http://www.amazon.com
http://www.amazon.fr
http://fnac.com
Utilise leurs outils de recherche et lis les commentaires postés par les lecteurs.
John Walkenbach est un meilleurs auteurs sur le sujet et beaucoup ne jurent que par (ou
même sur) sa trilogie : Excel 2002 Bible, Excel 2002 Power Programming with VBA et Excel
2002 Formulas.
Pour une liste récente de références vois sur le site de Debra Dalgleish
href="http://contextures.com/tiptech.phpl">http://contextures.com/tiptech.phpl
Et pour une liste en Français de Fripouillot, chez Daniel:
href="http://dj.joss.free.fr/faq.php#lecteur">http://dj.joss.free.fr/faq.php#lecteur
Sans oublier le CD de formation avec des astuces animées de Gaétan Mourmant.
Tu peux l'acheter sur son site (44€) :
http://www.polykromy.com/
ENFIN
N'oublie pas l'aide en ligne vendue avec excel. Trop de gens la pensent inexploitable.
C'est parfois vrai mais au fur et à mesure des versions, elle s'améliore.
Tout ceci devrait t'occuper un moment ! Mais n'oublie pas qu'une des joies d'excel c'est
que ce logiciel est si large et si profond qu'on n'en connait jamais toutes les arcanes.
Et puis il y a tant d'applications différentes suivant les disciplines et sous disciplines
que tu n'en finiras pas de trouver des astuces cachées.
(traduc libre et adaptation pour les francophones de Flo Cabon)
Norman Harker,
Ajouté ou modifié le 03/05/2004 (N°612)
Ajouté ou modifié le 03/05/2004 (N°612)