Discussion:
Recherche V et cellule masquées
Add Reply
Skywalkeuse
2020-05-20 09:43:43 UTC
Réponse
Permalink
Bonjour à tous,
Petite question :
Je veux faire une Recherche V dans une table de matrice qui contient de
cellules masquées. Le problème c'est qu'elle me renvoie le résultat de cellule
qui sont masquées que je ne veux pas justement.
Est-ce qu'il y a un moyen pour les exclure de ma recherche ?
Merci d'avance :)
MichD
2020-05-20 10:30:03 UTC
Réponse
Permalink
Post by Skywalkeuse
Bonjour à tous,
Je veux faire une Recherche V dans une table de matrice qui contient des
cellules masquées. Le problème c'est qu'elle me renvoie le résultat de cellules
qui sont masquées que je ne veux pas justement.
Est-ce qu'il y a un moyen pour les exclure de ma recherche ?
Merci d'avance :)
Bonjour,

Qu'appliques-tu pour masquer ces cellules? Un format? Que contiennent
ces cellules masquées ? Du numérique, du texte ?

Lorsque la fonction RechercheV retourne un résultat masqué, que veux-tu
obtenir par la fonction recherche ? "" ou un résultat masqué ?

MichD
skywalkeuse
2020-05-20 13:13:51 UTC
Réponse
Permalink
Post by MichD
Post by Skywalkeuse
Bonjour à tous,
Je veux faire une Recherche V dans une table de matrice qui contient des
cellules masquées. Le problème c'est qu'elle me renvoie le
résultat de cellules
qui sont masquées que je ne veux pas justement.
Est-ce qu'il y a un moyen pour les exclure de ma recherche ?
Merci d'avance :)
Bonjour,
Qu'appliques-tu pour masquer ces cellules? Un format? Que contiennent
ces cellules masquées ? Du numérique, du texte ?
Lorsque la fonction RechercheV retourne un résultat masqué, que veux-tu
obtenir par la fonction recherche ? "" ou un résultat
masqué ?
MichD
Bonjour MichD,
Je te partage le lien du fichier d'exemple, ce sera plus clair.

https://drive.google.com/file/d/18CUoNyqduL2EP_e4DV46ETrIy87bJUsp/view?usp=sharing

Mais en gros,
J'ai une feuille avec extraction, il y a une colonne Ville, une colonn
Utilisateur, une colonne Licence. J'ai filtré les utilisateurs par la ville d
Rennes, les autres sont masqués du coup, j'aurais même dû les supprimer car il
ne me servent plus à rien.

Dans une seconde feuille, j'ai une colonne avec la liste des Utilisateur
uniquement de Rennes et dans une autre colonne, je veux que ma Recherche V m
renvoie la Licence qui correspond.
J'ai utilisé cette formule que j'ai étendu jusqu'en bas du tableau :
=SI(ESTNA(RECHERCHEV(A2;Feuil1!$B$2:$B$8;2;FAUX));"OFF";Feuil1!C2)

Sauf que quand j’ai étendu la formule jusqu'en bas, la valeur de la cellule qu
je veux renvoyer s'étend aussi en prenant en compte les cellules masquées C2,C3
C4,C5 alors que C3 est masqué sur l'autre feuille donc cela décale tout me
résultat.
MichD
2020-05-20 15:07:47 UTC
Réponse
Permalink
Voir les explications dans le fichier :

https://www.cjoint.com/c/JEuphe8oMRj

MichD
Michel__D
2020-05-20 15:38:01 UTC
Réponse
Permalink
Bonjour,
Post by skywalkeuse
Post by MichD
Post by Skywalkeuse
Bonjour à tous,
Je veux faire une Recherche V dans une table de matrice qui contient des
cellules masquées. Le problème c'est qu'elle me renvoie le
résultat de cellules
qui sont masquées que je ne veux pas justement.
Est-ce qu'il y a un moyen pour les exclure de ma recherche ?
Merci d'avance :)
Bonjour,
Qu'appliques-tu pour masquer ces cellules? Un format? Que contiennent
ces cellules masquées ? Du numérique, du texte ?
Lorsque la fonction RechercheV retourne un résultat masqué, que veux-tu
obtenir par la fonction recherche ? "" ou un résultat
masqué ?
MichD
Bonjour MichD,
Je te partage le lien du fichier d'exemple, ce sera plus clair.
https://drive.google.com/file/d/18CUoNyqduL2EP_e4DV46ETrIy87bJUsp/view?usp=sharing
Mais en gros,
J'ai une feuille avec extraction, il y a une colonne Ville, une colonne
Utilisateur, une colonne Licence. J'ai filtré les utilisateurs par la ville de
Rennes, les autres sont masqués du coup, j'aurais même dû les supprimer car ils
ne me servent plus à rien.
Dans une seconde feuille, j'ai une colonne avec la liste des Utilisateurs
uniquement de Rennes et dans une autre colonne, je veux que ma Recherche V me
renvoie la Licence qui correspond.
=SI(ESTNA(RECHERCHEV(A2;Feuil1!$B$2:$B$8;2;FAUX));"OFF";Feuil1!C2)
Sauf que quand j’ai étendu la formule jusqu'en bas, la valeur de la cellule que
je veux renvoyer s'étend aussi en prenant en compte les cellules masquées C2,C3,
C4,C5 alors que C3 est masqué sur l'autre feuille donc cela décale tout mes
résultat.
Si tu essayé comme ceci :

=SI(ESTNA(RECHERCHEV(A2;Feuil1!$B$2:$C$8;2;FAUX));"OFF";RECHERCHEV(A2;Feuil1!$B$2:$C$8;2;FAUX))

Mais bon j'espère que tu n'auras pas 2 fois le même prénom
skywalkeuse
2020-05-25 14:02:45 UTC
Réponse
Permalink
Post by Skywalkeuse
Bonjour à tous,
Je veux faire une Recherche V dans une table de matrice qui contient des
cellules masquées. Le problème c'est qu'elle me renvoie le
résultat de cellules qui sont masquées que je ne veux pas
justement.
Est-ce qu'il y a un moyen pour les exclure de ma recherche ?
Merci d'avance :)
Cela ne semble pas fonctionner et c'est une liste de 200 personnes donc il y
plusieurs fois le même prénom. Merci quand même d'avoir essayé de m'aider :)

Je vais procéder autrement et trouver un moyen de supprimer tout ce que j'a
masqué avec le filtre, ce sera plus simple est plus propre, je pense.
Avez-vous une idée de comment faire cela ?
Une macro peut-être ?
MichD
2020-05-25 15:17:31 UTC
Réponse
Permalink
Post by skywalkeuse
Une macro peut-être ?
Cette macro fait disparaître toutes les lignes entières dont la ville en
colonne A porte le nom de "Nantes".

Fais un clic droit sur l'onglet de ta feuille de données et tu copies la
macro dans la feuille blanche. Évidemment dans la macro tu peux choisir
la ville de ton choix!

'-----------------------------------------
Sub test()
Dim Ville As String
'Ville que tu veux faire disparaître les lignes
Ville = "Nantes" ' Critère du filtre
Dim Rg As Range
With Worksheets("Feuil1") 'Nom onglet feuille à adapter...
With .Range("A1:C" & .Range("A" & .Rows.Count).End(xlUp).Row)
' 1 = Numéro du champ sur lequel le filtre s'exécute.
.AutoFilter field:=1, Criteria1:=Ville
.Offset(1).Resize(.Rows.Count -
1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.AutoFilter
End With
End With

End Sub
'-----------------------------------------

MichD
MichD
2020-05-25 16:18:39 UTC
Réponse
Permalink
C'est essentiellement la même macro, mais un peu plus complète.
Elle teste d'abord si les boutons du filtre automatique sont présents
dans la feuille de calcul.

On error resume next du filtre est nécessaire dans le cas où l'exécution
du filtre ne retourne aucune donnée comme résultat.

'----------------------------------------
Sub test()
Dim Ville As String
'Ville que tu veux faire disparaître les lignes
Ville = "Nantes" ' Critère du filtre
Dim Rg As Range

On Error Resume Next
With Feuil1 ' Worksheets("Feuil1")
If .AutoFilterMode = True Then
x = 1
End If

With .Range("A1:C" & .Range("A" & .Rows.Count).End(xlUp).Row)
If x = 1 Then
.AutoFilter
End If
.AutoFilter field:=1, Criteria1:=Ville
' 1 = Numéro du champ sur lequel le filtre s'exécute.
.Offset(1).Resize(.Rows.Count -
1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.AutoFilter
End With
End With

End Sub
'----------------------------------------

MichD
skywalkeuse
2020-05-26 14:18:14 UTC
Réponse
Permalink
Post by Skywalkeuse
Bonjour à tous,
Je veux faire une Recherche V dans une table de matrice qui contient des
cellules masquées. Le problème c'est qu'elle me renvoie le
résultat de cellules qui sont masquées que je ne veux pas
justement.
Est-ce qu'il y a un moyen pour les exclure de ma recherche ?
Merci d'avance :)
J'ai plusieurs villes à faire disparaitre, je les indique comment ?
Ville = "Nantes","Lille" ou "Nantes" "Lille" etc ou je peux mettre plusieur
chose entre les guillemets ?

Je ne comprends pas cette syntaxe :
.Offset(1).Resize(.Rows.Count -
1).SpecialCells(xlCellTypeVisible).EntireRow.Delete

Je dois remplacer chaque chiffre par le numéro du champ sur lequel le filtr
s'exécute, c'est à dire ?
Ma colonne des villes est en C1 et la première ville est indiqué en C2 etc
MichD
2020-05-26 17:32:38 UTC
Réponse
Permalink
Voici un fichier exemple, avec des explications à l'intérieur.

https://www.cjoint.com/c/JEArEVKQPfj

MichD
MichD
2020-05-26 17:38:31 UTC
Réponse
Permalink
Post by MichD
Voici un fichier exemple, avec des explications à l'intérieur.
 https://www.cjoint.com/c/JEArEVKQPfj
MichD
Information supplémentaire :

La zone de critère du filtre avancé : E1 : Les villes
E2 : Formules

En E1, l'appellation doit être différente des noms des étiquettes de
colonne de ton tableau A1:C8.à la limite, la cellule E1 pourrait
demeurer vide...

Dans la formule en E1, A2 représente l'adresse de la première donnée
sous la ligne d'étiquette. Dans ton fichier, la ligne d'étiquette de ton
tableau de données n'est pas forcément sur la ligne 1, alors, tu devras
adapter.

MichD
MichD
2020-05-26 17:43:53 UTC
Réponse
Permalink
Au début de la macro "Filtre_avancé", ajoute cette ligne de code :

On Error Resume next

Cette ligne de code est nécessaire si aucune ligne n'est visible lors de
l'exécution du filtre. La méthode "SpecialCells" va retourner une
erreur. ON error resume next empêche la macro de planter!

MichD
MichD
2020-05-27 12:14:04 UTC
Réponse
Permalink
Post by MichD
On Error Resume next
Cette ligne de code est nécessaire si aucune ligne n'est visible lors de
l'exécution du filtre. La méthode "SpecialCells" va retourner une
erreur. ON error resume next empêche la macro de planter!
MichD
Suppose que tu veuilles conserver seulement les lignes contenant la
ville de "Rennes" en colonne A

Tu peux utiliser cette formule en E1 dans le fichier exemple. Cela
simplifie la tâche en évitant une longue énumération...

=A2="Rennes"

MichD
skywalkeuse
2020-06-08 12:48:31 UTC
Réponse
Permalink
Post by Skywalkeuse
Bonjour à tous,
Je veux faire une Recherche V dans une table de matrice qui contient des
cellules masquées. Le problème c'est qu'elle me renvoie le
résultat de cellules qui sont masquées que je ne veux pas
justement.
Est-ce qu'il y a un moyen pour les exclure de ma recherche ?
Merci d'avance :)
J'ai réussi, ça fonctionne. Merci MichD !

Loading...