Filtre suivant une cellule dans un autre onglet
Résolu/Fermé
mchotard
Messages postés
427
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
28 novembre 2024
-
26 oct. 2014 à 11:10
mchotard Messages postés 427 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 28 novembre 2024 - 26 oct. 2014 à 20:24
mchotard Messages postés 427 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 28 novembre 2024 - 26 oct. 2014 à 20:24
A voir également:
- Vba filtrer selon valeur cellule
- Excel cellule couleur si condition texte - Guide
- Excel compter cellule couleur sans vba - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellule excel - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
6 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
26 oct. 2014 à 11:48
26 oct. 2014 à 11:48
Bonjour MChotard, bonjour le forum,
la ligne ci-dessous filtre la colonne 3 (=C) de l'onglet Feuil2 avec comme critère la valeur de la cellule A1 de l'onglet Feuil1 :
tu adapteras à ton cas...
la ligne ci-dessous filtre la colonne 3 (=C) de l'onglet Feuil2 avec comme critère la valeur de la cellule A1 de l'onglet Feuil1 :
Sheets("Feuil2").Range("A1").AutoFilter Field:=3, Criteria1:=Sheets("Feuil1").Range("A1").Value
tu adapteras à ton cas...
mchotard
Messages postés
427
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
28 novembre 2024
39
26 oct. 2014 à 12:20
26 oct. 2014 à 12:20
Merci Thautherme c'est super, cela m'arrange tout à fait. Je ne voudrais pas abuser mais aurais-tu une solution pour un autre problème. J'ai un tableau avec des noms qui se répète chaque mois. Parfois je suis amené à ajouter d'autres noms. J'au une macro qui marche très bien pour insérer, les noms dans mon fichier général.
Ma question : est-il possible de générer automatiquement une liste des noms à partir de mon fichier général pour avoir une liste des noms sans doublon et à jour. Autrement dit si j'ajoute des noms dans mon fichier générale, je souhaite que ma liste soit mise à jour automatiquement âr une macro par ex.
Mois Nom ma liste
Janvier AAA AAA
Janvier CCC CCC
Janvier DDD DDD
Janvier EEE EEE
Janvier FFF FFF
Février AAA
Février CCC
Février DDD
Février EEE
Février FFF
Mars AAA
Mars CCC
Mars DDD
Mars EEE
Mars FFF
Merci si tu peux m'aider, mais ta première intervention me satisfait pleinement
A+
Ma question : est-il possible de générer automatiquement une liste des noms à partir de mon fichier général pour avoir une liste des noms sans doublon et à jour. Autrement dit si j'ajoute des noms dans mon fichier générale, je souhaite que ma liste soit mise à jour automatiquement âr une macro par ex.
Mois Nom ma liste
Janvier AAA AAA
Janvier CCC CCC
Janvier DDD DDD
Janvier EEE EEE
Janvier FFF FFF
Février AAA
Février CCC
Février DDD
Février EEE
Février FFF
Mars AAA
Mars CCC
Mars DDD
Mars EEE
Mars FFF
Merci si tu peux m'aider, mais ta première intervention me satisfait pleinement
A+
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
26 oct. 2014 à 12:56
26 oct. 2014 à 12:56
Bonjour MChotard, bonjour le forum,
Essaie comme ça :
Essaie comme ça :
Public Sub Macro1()
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter)
DL = O.Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 2 (=B) de l'onglet O
Set PL = O.Range("B2:B" & DL) 'définit la plage PL
Set D = CreateObject("Scripting.Dictionary") 'définit le dictionnaire D
For Each CEL In PL 'boucle sur toutes les cellules CEL de la plage PL
D(CEL.Value) = "" 'alimente le dictionnaire D
Next CEL 'prochaine cellule de la boucle
'si C2 n'est pas vide, efface les annciennes données (l'ancienne liste)
If Range("C2").Value <> "" Then O.Range("C2:C" & O.Cells(Application.Rows.Count, 3).End(xlUp).Row).ClearContents
'renvoie dans la colonne C (à partir de C2) la liste du dictionnaire D sans doublons (=D.Keys)
O.Range("C2").Resize(D.Count) = Application.Transpose(D.keys)
End Sub
mchotard
Messages postés
427
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
28 novembre 2024
39
26 oct. 2014 à 18:54
26 oct. 2014 à 18:54
Décidément tu es à la fois un pro et un rapide, grand merci. Ça marche super.
Une dernière demande et après je cesse de t'importuner. Est-il possible que ma liste (c2:c) puisse s'insérer dans une autre feuille que j'ai appelé "constantes".
Tu es formidable et mille fois merci
MC
Une dernière demande et après je cesse de t'importuner. Est-il possible que ma liste (c2:c) puisse s'insérer dans une autre feuille que j'ai appelé "constantes".
Tu es formidable et mille fois merci
MC
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
26 oct. 2014 à 19:00
26 oct. 2014 à 19:00
Bonsoir MChotard, bonsoir le forum,
Remplace la fin de la macro par cette partie :
Remplace la fin de la macro par cette partie :
With Sheets("constantes") 'prend en compte l'onglet "constantes"
'si C2 n'est pas vide, efface les annciennes données (l'ancienne liste)
If .Range("C2").Value <> "" Then .Range("C2:C" & .Cells(Application.Rows.Count, 3).End(xlUp).Row).ClearContents
'renvoie dans la colonne C (à partir de C2) la liste du dictionnaire D sans doublons (=D.Keys)
.Range("C2").Resize(D.Count) = Application.Transpose(D.keys)
End With 'fin de la prise en compte de l'onglet "constantes"
mchotard
Messages postés
427
Date d'inscription
vendredi 6 mai 2011
Statut
Membre
Dernière intervention
28 novembre 2024
39
26 oct. 2014 à 20:24
26 oct. 2014 à 20:24
Génial et un très cordial merci.
J'ai tout ce qu'il me faut
A+
J'ai tout ce qu'il me faut
A+