Monsieur Excel
Pour tout savoir faire sur Excel !

28 août 2014

Utiliser une zone de critères (c)

Filtrer la liste sur place

Revenons à la première zone de critères, celle en A1:B3.

Pour opérer le filtrage sur place, il faut utiliser la commande « Avancé » du bloc « Trier et filtrer » de l’onglet « Données », comme on le voit dans la copie d’écran ci-dessous.


Remarque 1 – Notez que l’adresse du bloc « Zone de critères » identifie naturellement la feuille où elle se trouve, ce qui signifie que la zone de critères peut se trouver sur un autre onglet.

Copier vers un autre emplacement

Avant de tester la commande « Copier vers un autre emplacement », entrons en A38:F38 le texte « Important ».

Puis entrons « Nom », « Prénom » et « Age » dans le bloc B32:C32. Nous indiquons ainsi que ce sont uniquement ces trois champs qui nous intéressent pour l’extraction de la base.

Pour copier vers un autre emplacement, dans le dialogue, nous cochons à présent la seconde option et nous sélectionnons $C$32:$E$32 pour le bloc « Copier dans : ».

Remarque 2 – Notons au passage que les champs extraits – comme c’est ici le cas – peuvent être dans un ordre différent que celui qu’ils avaient dans la base.

Et nous obtenons le résultat ci-dessous ! Nous constatons que l’extraction s’est bien passée, sinon que les cellules C38:D38 ont été détruites ainsi que – pire encore ! – toutes les cellules placées au-dessous, et ce jusqu’à la ligne 1.048.576 !


Nous venons de détruire plus d’un million de lignes sur trois colonnes ! Immédiatement, nous essayons de rétablir la situation antérieure avec  [Ctrl]-z , mais nous constatons alors que cette annulation est inopérante. Imaginez ce qui peut arriver si vous n’aviez pas de double de la base, si vous aviez réglé Excel sur un enregistrement automatique toutes les 10 minutes, et que cet enregistrement survienne juste à ce moment !

Excel vient de faire une destruction irréparable sans nous avoir averti du danger !

Certes, on aurait pu choisir $C$32:$E$37 comme zone de réception, mais ce n’est pas naturel de devoir réserver à l’avance toute la surface de réception. Bien entendu, si la zone de réception est alors insuffisante, Excel vous prévient du danger, mais pourquoi ne le fait-il pas dans le premier cas ? Il serait facile pour lui de vérifier si la zone de réception est suffisante avant de tout casser…

Remarque 3 – Un autre problème, et non des moindres, est que la zone de réception doit obligatoirement se trouver sur le même onglet que la base, ce qui est contraire à tous les principes de sécurité que l’on doit normalement respecter dans la gestion de bases de données.

Pour cette raison, pour mes clients, j’utilise souvent dans ce cas une macro qui filtre sur place, sélectionne ce qui reste de la base, la copie, la colle sur l’onglet voulu et détruit enfin les colonnes superflues.


2 Commentaire(s):

  • La zone de réception des données peut être placée dans une autre feuille assez facilement !

    C'est un peu plus contraignant à utiliser (passer par des zones nommées pour la base de données et le critère simplifie cette manipulation).

    1- Se placer dans la feuille devant recevoir les données (la feuilles est donc active)
    2- Lancer l'outil Filtre Avancé et préciser la base, le critère et l'emplacement

    Arnaud

    By Blogger Unknown, sur 9:56 PM  

  • Merci pour l'info !

    By Blogger Hervé Thiriez, sur 9:52 AM  

Enregistrer un commentaire

<< Accueil