N’essayez pas à la maison ! Un petit challenge…

Suite à une discussion avec Dominique Handelsman (qui intervient régulièrement ici), je me lance dans une petite expérimentation sur l'optimisation des formules

Première colonne:
15
16
17
15
que je recopie comme tel vers le bas sur 1 000 000 de lignes (bin oui, si on a maintenant un million de lignes, il faut s'en servir !)

Deuxième colonne
Un nombre aléatoire
=alea()
que je copie colle en valeur pour éviter d'avoir ce recalcul

Troisème colonne :
Cette formule, ici pour la cellule A2 :
=SOMME.SI($A$2:$A$1000000;A2;$B$2:$B$1000000)

Et je commence le calcul, qui évidemment utilise toute la mémoire de l'ordinateur et quelques minutes plus tard...Pouf plus rien, le disjoncteur général de l'ordi a dit stop et a littéralement crashé l'ensemble ! (Il fait un peu chaud ici, mais quand même !)

Donc 1 000 000 de lignes, c'est bien, mais il faut quand même veiller à pas lui demander trop de calculs !

En réduisant à 30 000 lignes et en changeant la formule pour ceci :
=SOMME.SI($A$2:$A$30000;A2;$B$2:$B$30000)
On arrive à calculer, une trentaine de secondes chez moi.

Cette formule peut cependant être largement améliorée.

Des idées?

Je donnerai mes propres pistes dans un prochain post!

Gaetan Mourmant

Comparer des plages de cellules

Bonjour,

Excel dispose d'une option intéressante pour comparer deux feuilles côte à côte.

Ceci permet par exemple de comparer deux plages de cellules, ou bien de voir le résultat d'un changement de feuille sur une autre feuille.

Si vous voulez comparer deux feuilles du même classeur, il faut auparavant créer une nouvelle fenêtre :
Dans Affichage, choisir Nouvelle fenêtre.

Ceci vous permet ainsi de comparer rapidement les deux fenêtres :

Finalement, vous pouvez aussi choisir d'activer le défilement synchrone pour pouvoir comparer deux plages de données identiques. Ainsi, en faisant défilant la fenêtre vers le bas, vous faîtes défiler l'autre fenêtre en parallèle.

Espérant que cette astuce vous soit utile.

A bientôt

Gaetan Mourmant

Des bordures intelligentes

Bonjour à tous,

Il s'agit ici de délimiter un périmètre en fonction du contenu de la cellule.

Ainsi :
- Si la cellule n'est pas la dernière cellule, on va ajouter une bordure à gauche, à droite et en haut.
- Si la cellule est la dernière, on ajoute les bordures à droite et à gauche.
- Finalement, si la cellule contient un caractère spécial indiquant la fin du tableau (par exemple, un espace seul), on va fermer la bordure haute du tableau

On va aussi définir la référence figée sur la première colonne (le $ de $A1) :

Ca nous donne ceci :

On peut ensuite modifier le tableau et les bordures se mettront automatiquement à jour :

Voici le fichier exemple.

A bientôt

Gaetan