Problème VBA Excel 2007
Résolu/Fermé
A voir également:
- Problème VBA Excel 2007
- Liste déroulante excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
4 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 12/03/2011 à 09:39
Modifié par lermite222 le 12/03/2011 à 09:39
Bonjour,
Tu n'est pas dans le bon événement.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
Tu n'est pas dans le bon événement.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, [B4]) Is Nothing Then If [B4] <> "" Then Selection.AutoFilter Field:=2, Criteria1:="=" & [B4] Else Selection.AutoFilter End If End If End Sub
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.
Suite de mon commentaire.
En modifiant ce que tu m'as donné cela fonctionne, en mettant un critère en B4 le filtre fait son boulot. Si je supprime le critère en B4 le tableau reste tel quel il me suffit de lancer une macro pour réinitialiser le filtre manuellement.
Je n'ai pas encore trouvé la solution pour qu'il le fasse de lui même sans toucher à la structure du tableau.
Ci dessous ta solution que j'ai modifié:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [B4]) Is Nothing Then
If [B4] <> "" Then
Selection.AutoFilter Field:=2, Criteria1:="=" & [B4]
End If
End If
End Sub
Encore merci.
En modifiant ce que tu m'as donné cela fonctionne, en mettant un critère en B4 le filtre fait son boulot. Si je supprime le critère en B4 le tableau reste tel quel il me suffit de lancer une macro pour réinitialiser le filtre manuellement.
Je n'ai pas encore trouvé la solution pour qu'il le fasse de lui même sans toucher à la structure du tableau.
Ci dessous ta solution que j'ai modifié:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [B4]) Is Nothing Then
If [B4] <> "" Then
Selection.AutoFilter Field:=2, Criteria1:="=" & [B4]
End If
End If
End Sub
Encore merci.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
13 mars 2011 à 10:51
13 mars 2011 à 10:51
Sans enlever le filtre automatique.
Dans le code de mon poste précédant remplace
Dans le code de mon poste précédant remplace
Selection.AutoFilter par Selection.AutoFilter Field:=2A+
12 mars 2011 à 16:49
je viens de le tester et effectivement quand la case B4 est vide le filtre s'annule, mais quand je mets de nouveau un critère, les lignes 5 et 6 disparaissent ainsi que tous les filtres et tout en filtrant correctement les données... Je coince...
Dur les début en VBA, j'ai l'impression de me mettre au Mandarin... :).