Sélection en VBA sur Excel
Fermé
Bonjour,
je souhaite réaliser un "petit programme" sur excel (2007) qui me permet en cliquant sur un bouton et en fonction du choix prit dans une liste déroulante afficher les lignes correspondantes au critère dans une autre feuille.... j'ai réussi une macro qui bascule des données sur une feuille mais pas à assoicier la liste...je suis débutant en VBA et je rame...
merci de votre aide.
je souhaite réaliser un "petit programme" sur excel (2007) qui me permet en cliquant sur un bouton et en fonction du choix prit dans une liste déroulante afficher les lignes correspondantes au critère dans une autre feuille.... j'ai réussi une macro qui bascule des données sur une feuille mais pas à assoicier la liste...je suis débutant en VBA et je rame...
merci de votre aide.
A voir également:
- Sélection en VBA sur Excel
- Liste déroulante excel - Guide
- Mise en forme conditionnelle excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Si et excel - Guide
- Trier sur excel - Guide
9 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
2 mars 2010 à 21:56
2 mars 2010 à 21:56
Bonsoir,
Tu tiens absolument à copier sur une 2nde feuille ?
Si ce n'est que pour consulter filtrer sur ta feuille d'origine est plus simple.
eric
Tu tiens absolument à copier sur une 2nde feuille ?
Si ce n'est que pour consulter filtrer sur ta feuille d'origine est plus simple.
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
4 mars 2010 à 22:01
4 mars 2010 à 22:01
Bonsoir,
wow, tu t'es laché...
Mais je n'ai pas tout compris.
Dépose un fichier exemple avec ce que tu désires obtenir sur l'autre feuille sur cijoint.fr et colle ici le lien fourni.
eric
wow, tu t'es laché...
Mais je n'ai pas tout compris.
Dépose un fichier exemple avec ce que tu désires obtenir sur l'autre feuille sur cijoint.fr et colle ici le lien fourni.
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
14 mars 2010 à 22:12
14 mars 2010 à 22:12
Bonsoir,
enregistre-le au format .xls, les macros ne passent pas.
Et donne un exemple de saisie où ça plante.
eric
enregistre-le au format .xls, les macros ne passent pas.
Et donne un exemple de saisie où ça plante.
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
17 mars 2010 à 20:07
17 mars 2010 à 20:07
Bonjour,
Il n'y avait pas de macro dans le fichier....
Il faut en plus nommer les cellules J4 et J5 'Critere1' et 'Critere2'
fr2.xls
eric
Il n'y avait pas de macro dans le fichier....
Il faut en plus nommer les cellules J4 et J5 'Critere1' et 'Critere2'
fr2.xls
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir, merci de ton intéret, oui je souhaites copier sur une autre feuille car pour résumer et etre précis:
la premiere feuille permet de renseigner des critères (date, nom, et action); les actions (2 a sélectionner) vont servir à sélectionner un certain nombre de lignes parmis une quantité qui peut être évolutive, ces lignes comportes des listes déroulantes de choix et en fonction des choix cela donne une cotation, ensuite de la cotation on effectue un extrait (ça je sais faire) mon probème est de creer le programme qui à partir des 2 choix me donne les lignes qui correspondes.. j'espère que je suis claire
Salutations
la premiere feuille permet de renseigner des critères (date, nom, et action); les actions (2 a sélectionner) vont servir à sélectionner un certain nombre de lignes parmis une quantité qui peut être évolutive, ces lignes comportes des listes déroulantes de choix et en fonction des choix cela donne une cotation, ensuite de la cotation on effectue un extrait (ça je sais faire) mon probème est de creer le programme qui à partir des 2 choix me donne les lignes qui correspondes.. j'espère que je suis claire
Salutations
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
5 mars 2010 à 19:58
5 mars 2010 à 19:58
Et tu ne peux pas mettre 'A B' et 'z e r t y' dans 2 colonnes respectives ?
Là ça complique beaucoup pour pas grand chose...
eric
Là ça complique beaucoup pour pas grand chose...
eric
l'option de plusieurs colonnes me semble le plus simple pur qu'une ligne répond à plusieurs critères, mais si cela marche sur 2 colonnes pourquoi pas...par contre il faut absolument que les lignes répondent aux divers critères.
par exemple: si le choix et A et e --> ligne 8 mais aussi si c'est A et y....;
A et B sont des phases d'activité et e,y,.... des domaines d'activité et les renseignements concernes parfois plusieurs domaines mais aussi les 2 phases; le but est de ne voir apparaitre que les lignes correspondant au choix de la phase et du domaine sélectionné donc 1 critère de part et d'autre. soit A et e........
fred
par exemple: si le choix et A et e --> ligne 8 mais aussi si c'est A et y....;
A et B sont des phases d'activité et e,y,.... des domaines d'activité et les renseignements concernes parfois plusieurs domaines mais aussi les 2 phases; le but est de ne voir apparaitre que les lignes correspondant au choix de la phase et du domaine sélectionné donc 1 critère de part et d'autre. soit A et e........
fred
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
7 mars 2010 à 00:21
7 mars 2010 à 00:21
il y a toujours 1 seule possibilité entre A et B et entre z e r t y ou il peut y avoir plusieurs de marquées (z et e sur la même ligne par exemple) ?
Et tu parlais dans le post initial d'une autre feuille... Sur ton exemple tout est sur 1 feuille.
Plus c'est éloigné de la réalité plus tu auras d'adaptations à faire....
eric
Et tu parlais dans le post initial d'une autre feuille... Sur ton exemple tout est sur 1 feuille.
Plus c'est éloigné de la réalité plus tu auras d'adaptations à faire....
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
9 mars 2010 à 20:02
9 mars 2010 à 20:02
Bonsoir,
Regarde si ça te va : fr.xls
Supprimer un des critère en K2:K3 supprime le filtre.
eric
Regarde si ça te va : fr.xls
Supprimer un des critère en K2:K3 supprime le filtre.
eric
Bonsoir eric, j'ai testé mais sur mon fichier ça bloque sur cette ligne
If Not ([Critere1] = "" Or [Critere2] = "") Then: le message est "Incompatibilité de type"
Voici ce que tu as réalisé avec mes "modifs" cellules, lignes, colonnes...) si j'ai pas commis d'erreur.je sais que le plus simple serais de réaliser cela avec le fichier d'origine mais il est confidentiel.... par contre je place un fichier le plus proche possible....CF MESSAGE QUI SUIT.
encore merci pour ton aide
Sub filtre()
Dim derlig As Long, ok As Boolean, i As Long, j As Long
derlig = [A65536].End(xlUp).Row
Range("A16:A65536").Rows.Hidden = False
If [B65536].End(xlUp).Row > derlig Then derlig = [B65536].End(xlUp).Row
'Application.ScreenUpdating = False
If Not ([Critere1] = "" Or [Critere2] = "") Then
For i = 16 To derlig
'Rows(i).Hidden = True
ok = False
If Cells(i, 1) = [Critere1] Or Cells(i, 2) = [Critere1] Then
For j = 3 To 7
If Cells(i, j) = [Critere2] Then
ok = True
Exit For
End If
Next
End If
If Not ok Then Rows(i).Hidden = True
Next i
End If
Application.ScreenUpdating = True
End Sub
If Not ([Critere1] = "" Or [Critere2] = "") Then: le message est "Incompatibilité de type"
Voici ce que tu as réalisé avec mes "modifs" cellules, lignes, colonnes...) si j'ai pas commis d'erreur.je sais que le plus simple serais de réaliser cela avec le fichier d'origine mais il est confidentiel.... par contre je place un fichier le plus proche possible....CF MESSAGE QUI SUIT.
encore merci pour ton aide
Sub filtre()
Dim derlig As Long, ok As Boolean, i As Long, j As Long
derlig = [A65536].End(xlUp).Row
Range("A16:A65536").Rows.Hidden = False
If [B65536].End(xlUp).Row > derlig Then derlig = [B65536].End(xlUp).Row
'Application.ScreenUpdating = False
If Not ([Critere1] = "" Or [Critere2] = "") Then
For i = 16 To derlig
'Rows(i).Hidden = True
ok = False
If Cells(i, 1) = [Critere1] Or Cells(i, 2) = [Critere1] Then
For j = 3 To 7
If Cells(i, j) = [Critere2] Then
ok = True
Exit For
End If
Next
End If
If Not ok Then Rows(i).Hidden = True
Next i
End If
Application.ScreenUpdating = True
End Sub