Sélectionner une cellule selon un critère dans Excel : Méthodes et Astuces
Excel offre plusieurs façons de sélectionner une cellule selon un critère. Le choix de la méthode dépendra de la complexité du critère et de l'objectif final. Nous allons explorer les options les plus courantes et les plus efficaces.
1. Utilisation de la Mise en Forme Conditionnelle
La mise en forme conditionnelle est un excellent moyen de mettre en évidence visuellement les cellules qui répondent à un certain critère. Bien qu'elle ne sélectionne pas la cellule au sens strict (comme en VBA), elle permet de l'identifier rapidement.
Comment appliquer une Mise en Forme Conditionnelle
- Sélectionnez la plage de cellules sur laquelle vous souhaitez appliquer la mise en forme conditionnelle.
- Dans l'onglet Accueil, cliquez sur Mise en forme conditionnelle.
- Choisissez une règle prédéfinie (par exemple, Règles de mise en surbrillance des cellules) ou créez une Nouvelle règle….
- Si vous choisissez Nouvelle règle…, sélectionnez un type de règle (par exemple, Mettre en forme uniquement les cellules qui contiennent).
- Définissez le critère de sélection (par exemple, la valeur de la cellule est égale à une certaine valeur, ou est comprise entre deux valeurs).
- Choisissez le format à appliquer (par exemple, la couleur de remplissage de la cellule).
- Cliquez sur OK.
Exemple Pratique :
Supposons que vous ayez une colonne contenant des chiffres de ventes et que vous souhaitiez mettre en évidence toutes les ventes supérieures à 1000 €.
- Sélectionnez la colonne des chiffres de ventes.
- Allez dans Accueil > Mise en forme conditionnelle > Règles de mise en surbrillance des cellules > Supérieur à….
- Entrez
1000dans la boîte de dialogue. - Choisissez un format (par exemple, Remplissage vert avec texte vert foncé).
- Cliquez sur OK.
Toutes les cellules contenant des valeurs supérieures à 1000 € seront désormais mises en évidence.
2. Utilisation de la fonction SI et des fonctions de recherche
Pour une sélection plus dynamique, vous pouvez combiner la fonction SI avec des fonctions de recherche comme RECHERCHEV ou INDEX/EQUIV. Cela permet d'identifier l'adresse d'une cellule qui correspond à un critère et d'afficher sa valeur dans une autre cellule.
Exemple avec la fonction SI et RECHERCHEV
Supposons que vous ayez un tableau avec des noms de produits dans la colonne A et leurs prix dans la colonne B. Vous voulez afficher le prix du produit "XYZ" dans une cellule spécifique (par exemple, D1).
- Dans la cellule D1, entrez la formule suivante :
=SI(RECHERCHEV("XYZ",A:A,1,FAUX)="XYZ",RECHERCHEV("XYZ",A:B,2,FAUX),"")
Explication de la formule :
RECHERCHEV("XYZ",A:A,1,FAUX)recherche la valeur "XYZ" dans la colonne A. Si elle est trouvée, elle renvoie "XYZ". Sinon, elle renvoie une erreur.SI(RECHERCHEV("XYZ",A:A,1,FAUX)="XYZ", ... ,"")vérifie si la recherche a réussi. Si c'est le cas, elle exécute la deuxième partie de la fonctionSI. Sinon, elle affiche une chaîne vide (" ").RECHERCHEV("XYZ",A:B,2,FAUX)recherche à nouveau "XYZ" dans la colonne A, mais cette fois, elle renvoie la valeur correspondante de la colonne B (le prix).
Exemple avec INDEX et EQUIV
La combinaison INDEX et EQUIV est souvent plus flexible que RECHERCHEV.
- Dans la cellule D1, entrez la formule suivante :
=INDEX(B:B,EQUIV("XYZ",A:A,0))
Explication de la formule :
EQUIV("XYZ",A:A,0)recherche la position de "XYZ" dans la colonne A et renvoie le numéro de ligne.INDEX(B:B,EQUIV("XYZ",A:A,0))renvoie la valeur de la colonne B à la ligne trouvée parEQUIV.
3. Utilisation de VBA (Visual Basic for Applications)
Pour une sélection de cellules plus complexe ou pour automatiser des tâches, VBA est l'outil idéal. VBA vous permet d'écrire du code qui sélectionne, modifie ou effectue des actions sur les cellules en fonction de critères spécifiques.
Exemple de code VBA pour sélectionner une cellule
Sub SelectionnerCelluleSelonCritere()
Dim plage As Range
Dim cellule As Range
Dim critere As String
' Définir la plage de cellules à examiner
Set plage = Range("A1:A10")
' Définir le critère de sélection
critere = "XYZ"
' Parcourir chaque cellule de la plage
For Each cellule In plage
' Vérifier si la valeur de la cellule correspond au critère
If cellule.Value = critere Then
' Sélectionner la cellule
cellule.Select
' Afficher un message (facultatif)
MsgBox "Cellule sélectionnée : " & cellule.Address
' Sortir de la boucle (facultatif, si vous ne voulez sélectionner qu'une seule cellule)
Exit For
End If
Next cellule
End Sub
Explication du code :
Sub SelectionnerCelluleSelonCritere()déclare une sous-routine nomméeSelectionnerCelluleSelonCritere.Dim plage As Range,Dim cellule As Range,Dim critere As Stringdéclarent les variables utilisées :plagepour la plage de cellules,cellulepour chaque cellule de la plage, etcriterepour le critère de sélection.Set plage = Range("A1:A10")définit la plage de cellules à examiner (ici, de A1 à A10).critere = "XYZ"définit le critère de sélection (ici, la valeur "XYZ").For Each cellule In plagedémarre une boucle qui parcourt chaque cellule de la plage.If cellule.Value = critere Thenvérifie si la valeur de la cellule correspond au critère.cellule.Selectsélectionne la cellule si la condition est remplie.MsgBox "Cellule sélectionnée : " & cellule.Addressaffiche un message indiquant l'adresse de la cellule sélectionnée (facultatif).Exit Forsort de la boucle après la première cellule trouvée (facultatif).Next cellulepasse à la cellule suivante de la plage.End Subtermine la sous-routine.
Comment utiliser le code VBA
- Ouvrez l'éditeur VBA : appuyez sur
Alt + F11. - Dans l'éditeur VBA, insérez un nouveau module : Insertion > Module.
- Collez le code VBA dans le module.
- Modifiez la plage de cellules et le critère de sélection selon vos besoins.
- Exécutez le code : appuyez sur
F5ou cliquez sur le bouton Exécuter.
4. Utilisation des Filtres Avancés
Les filtres avancés permettent de filtrer les données selon des critères complexes et de copier les résultats dans une autre plage. Bien que cela ne sélectionne pas directement une cellule, cela permet d'isoler les données qui répondent à vos critères.
Comment utiliser les Filtres Avancés
- Préparez la zone de critères : dans une zone vide de votre feuille de calcul, créez une zone de critères. La première ligne doit contenir les en-têtes des colonnes que vous souhaitez filtrer. Les lignes suivantes doivent contenir les critères de sélection.
- Sélectionnez la plage de données à filtrer.
- Dans l'onglet Données, cliquez sur Avancé dans le groupe Trier et filtrer.
- Dans la boîte de dialogue Filtre avancé :
- Choisissez Filtrer la liste sur place pour masquer les lignes qui ne correspondent pas aux critères, ou Copier vers un autre emplacement pour copier les lignes correspondantes dans une autre plage.
- Définissez la Plage de la liste (normalement, la plage sélectionnée).
- Définissez la Plage de critères (la zone de critères que vous avez créée).
- Si vous avez choisi Copier vers un autre emplacement, définissez la Plage de copie.
- Cliquez sur OK.
Exemple Pratique :
Supposons que vous ayez un tableau avec des noms de produits dans la colonne A, leurs prix dans la colonne B et leurs quantités vendues dans la colonne C. Vous voulez filtrer les produits dont le prix est supérieur à 10 € et la quantité vendue est supérieure à 50.
- Créez une zone de critères :
- Dans les cellules E1, F1 et G1, entrez respectivement "Produit", "Prix" et "Quantité".
- Dans la cellule F2, entrez
>10. - Dans la cellule G2, entrez
>50.
- Sélectionnez la plage de données (par exemple, A1:C10).
- Allez dans Données > Avancé.
- Définissez la Plage de la liste à A1:C10.
- Définissez la Plage de critères à E1:G2.
- Choisissez Copier vers un autre emplacement et définissez la Plage de copie (par exemple, E4).
- Cliquez sur OK.
Excel copiera les lignes correspondant aux critères (prix > 10 et quantité > 50) dans la plage E4 et suivantes.
Bonnes Pratiques et Erreurs à Éviter
- Utilisez des noms de plages : Au lieu d'utiliser des références de cellules directes (par exemple, A1:B10), utilisez des noms de plages (par exemple, "TableauProduits"). Cela rend vos formules plus lisibles et plus faciles à maintenir.
- Vérifiez vos critères : Assurez-vous que vos critères de sélection sont corrects et précis. Une erreur dans le critère peut entraîner des résultats inattendus.
- Utilisez des références absolues : Lorsque vous utilisez des formules avec des références de cellules, utilisez des références absolues (par exemple,
$A$1) si vous ne voulez pas que les références changent lorsque vous copiez la formule. - Commentez votre code VBA : Si vous utilisez VBA, commentez votre code pour expliquer ce qu'il fait. Cela facilitera la compréhension et la maintenance du code.
- Testez vos formules et votre code : Avant d'utiliser vos formules ou votre code VBA dans un environnement de production, testez-les soigneusement pour vous assurer qu'ils fonctionnent correctement.
Conclusion
Sélectionner une cellule selon un critère dans Excel est une compétence essentielle pour l'analyse de données et l'automatisation des tâches. Que vous utilisiez la mise en forme conditionnelle, les fonctions SI et de recherche, VBA ou les filtres avancés, il existe une méthode adaptée à vos besoins. En comprenant les différentes techniques et en suivant les bonnes pratiques, vous pouvez optimiser votre travail et gagner en efficacité avec Excel.