Bonjour,
Existe-il une macro pour traduire cette requette :
Cacher les lignes qui ne contiennent pas la valuer de la cellule A1
je connait la formule pour cacher les lignes, mais je n'arrive à rien de probant concernant la suite !
une idée ??
Bonjour,
Existe-il une macro pour traduire cette requette :
Cacher les lignes qui ne contiennent pas la valuer de la cellule A1
je connait la formule pour cacher les lignes, mais je n'arrive à rien de probant concernant la suite !
une idée ??
Bonjour,
la valeur cherchée est dans une colonne spécifique ou dans n'importe quelle colonne de la ligne ?
Bonjour,
Dans n'importe quelle colonne, sur la ligne ?
Bonjour,
Merci pour l'interet et le temps que vous accordez à mon post !
Les deux solutions sont possible, on va donc aller au plus simple :
Elle sont dans la même colonne.
Cordialement.
Pour n'importe quelle colonne de la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub test() Dim DerLigne As Long DerLigne = Cells.Find("*", , , , , xlPrevious).Row For i = DerLigne To 1 Step -1 If Application.CountIf(Rows(i), [A1]) = 0 Then Rows(i).Hidden = True End If Next i End Sub
Merci pour l'info,
j'ai par contre du mal a la mettre en fonction, il me cache toute les valeurs.
j'ai adapté la formule au tableau, donc rechercher la valeur de la cellule A4.
Voici le document en Pj, ce sera peut être plus parlant.
Tu aurais dû dire que la valeur cherchée se trouvait à l'intérieur d'une cellule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub CommandButton2_Click() Dim DerLigne As Long DerLigne = Cells.Find([A4].Value, , , xlPart, xlByRows, xlPrevious).Row For i = DerLigne To 6 Step -1 If Application.CountIf(Rows(i), [A4] & "*") = 0 Then Rows(i).Hidden = True End If Next i End Sub
Bonjour et bonne journée à tous
Merci pour les lignes de code et pour ta compréhenssion !
On est sur la bonne voie !
Néanmoins j'ai l'impression que la fonction ne prend pas en compte toute la cellule, en effet si je tape par exemple Fournisseur dans le module de recherche, il me trouve : Cidre 46 et Police Cidre.
Quel peut en être la raison ??
Avez vous des idées
Cordialement.
Bonjour,
Au temps pour moi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub CommandButton2_Click() Dim DerLigne As Long DerLigne = Cells.Find("*", , , xlPart, xlByRows, xlPrevious).Row For i = DerLigne To 6 Step -1 If Application.CountIf(Rows(i), "*" & [A4] & "*") = 0 Then Rows(i).Hidden = True End If Next i End Sub
MERCI DANIEL !!
C'est exactement ce que je recherchais !
Petite question /
Si la recherche portait sur 3 colonne A, B et C et qu'au lieux de cacher les ligne qui ne correspondent pas, je fait apparaite les cellules qui correspondent dans une liste box appelé Lbx1 située sur la feuille3.
Est ce possible ??
Bonjour,
J'ai modifié la macro comme suit :
Le classeur modifié est en PJ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub CommandButton2_Click() Dim DerLigne As Long DerLigne = Cells.Find("*", , , xlPart, xlByRows, xlPrevious).Row Sheets("Feuil3").Lbx1.Clear For i = DerLigne To 6 Step -1 If Application.CountIf(Rows(i), "*" & [A4] & "*") <> 0 Then Sheets("Feuil3").Lbx1.AddItem Cells(i, 1).Value End If Next i Sheets("Feuil3").Select End Sub
Merci pour le nouveau code,
Je pense néanmois, que ce classeur ne correspond pas forcément à ma drnière intérogation,
en effet, si les valeur à chercher soe siture sur 3 colonne A, B et B, le code recherche uniquement dans la colonne A.
J'ai légèrement modifié la "liste" pour que cela corresponde au mieux à ma requette.
Qu'en pense tu ?
Ps: J'espère que je n'abuse pas de ta bontée.
Il eut fallu que tu précises que les cellules n'étaient plus fusionnées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Sub CommandButton2_Click() Dim c As Range, ResAdr As String DerLigne = Cells.Find("*", , , xlPart, xlByRows, xlPrevious).Row Sheets("Feuil3").Lbx1.Clear Set c = [A7:F43].Find([A4], , , xlPart) If Not c Is Nothing Then ResAdr = c.Address Do Sheets("Feuil3").Lbx1.AddItem c.Value Set c = [A7:F43].FindNext(c) Loop While ResAdr <> c.Address End If Sheets("Feuil3").Select End Sub
Yes
Merci beaucoup et désolé pour les oubli, c'est pas voulu
Cordialement !!
Have FUN
Partager