Comment récuper une valeur après un filtre

Fermé
Steinner - 28 mai 2019 à 15:13
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 3 juin 2019 à 08:55
Bonjour,

J'ai un problème, je n'arrive pas a récupérer les valeurs après avoir filtrer mon tableau.
J'ai essayé ce code mais sans succès et je ne vois pas où ce situe l'erreur. Si quelqu'un peut m'aider ça m'arrangerai bien.

Sub test()
Dim Analyse As String
For Each Cellule In Range("G2:G16641").SpecialCells(xlCellTypeVisible)
If Cellule.Value <> "" Then
Analyse = Cellule.Value
Worksheets(Analyse).Range("H1") = "yes"
End If
End Sub
A voir également:

5 réponses

fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
29 mai 2019 à 17:11
Dis moi si ça te va
Private Sub CommandButton2_Click()

Dim Acier As String, Diametre1 As String, Diametre2 As String, Diametre3 As String
Dim Assemblage As String, Epaisseur As String, Position As String
Dim derLig As Integer
Dim i As Integer
Dim tmpItem As String

Acier = ComboBox1.Value
Assemblage = ComboBox2.Value
Epaisseur = ComboBox3.Value
Position = ComboBox4.Value
Diametre1 = ComboBox5.Value
Diametre2 = ComboBox6.Value
Diametre3 = ComboBox7.Value
derLig = Worksheets("Analyse").Range("A" & Rows.Count).End(xlUp).Row

Worksheets("Analyse").Activate
For i = 2 To derLig
    tmpItem = Range("B" & i) & Range("C" & i) & Range("D" & i) & Range("E" & i) & Range("F" & i)
    If tmpItem = Acier & Diametre1 & Assemblage & Epaisseur & Position Then Range("H1").Value = Range("G" & i).Value
    If tmpItem = Acier & Diametre2 & Assemblage & Epaisseur & Position Then Range("I1").Value = Range("G" & i).Value
    If tmpItem = Acier & Diametre3 & Assemblage & Epaisseur & Position Then Range("J1").Value = Range("G" & i).Value
Next i

End Sub 

1
Steinned Messages postés 24 Date d'inscription mercredi 29 mai 2019 Statut Membre Dernière intervention 9 janvier 2021
3 juin 2019 à 08:37
Bonjour,
hormis la ligne Private sub CommandButton2_Click() qui fait doublon à celle que j'utilise ça marche super bien. je te remercie ça va bien m'aider
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59 > Steinned Messages postés 24 Date d'inscription mercredi 29 mai 2019 Statut Membre Dernière intervention 9 janvier 2021
3 juin 2019 à 08:55
super, n'oublie pas de passer ton poste en résolu si ton problème est réglé, bonne route
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
28 mai 2019 à 15:20
bonjour,
je commencerai par essayer avec
For Each Cell In Range("G2:G16641")
à mon humble avis..
0
Bonjour,

Merci de votre réponse mais ça ne marche pas si vous avez d'autres propositions je suis preneur.
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 29 mai 2019 à 10:05
Voilà comment il faut l'écrire :

Sub test()
    Dim Analyse As String
    For Each Cell In Range("G2:G16641").SpecialCells(xlCellTypeVisible)
        If Cell.Value <> "" Then
            Analyse = Cell.Value
            Worksheets(Analyse).Range("H1") = "yes"
        End If
    Next
End Sub



0
je viens de l'essaye ça résiste toujours.

Après peut-être que ma formule de base est erronée.
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 29 mai 2019 à 10:52
chez moi ça fonctionne..
essaye en nommant la feuille ou se situe le range("G2:G16641") en écrivant plutot
worksheets("NOMDETAFEUILLE").range("G2:G16641")

parce que si tu ne nommes pas de feuille excel va aller chercher dans la feuille active et forcément ça ne fonctionnera pas si tu n'es pas de base sur la feuille voulue..
0
Pas plus concluant malheureusement.
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
29 mai 2019 à 11:00
envoie un fichier exemple via mon partage en veillant bien à ce qu'il ne comporte pas de données confidentielles dans cas parce que "ça ne fonctionne pas" ne donne aucunes indications sur ce qui bloque
0
je viens de tester cette ligne de code dans un autre excel en adaptant et ça ne fonctionne pas non plus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
Modifié le 29 mai 2019 à 13:42
Décryptons ta procédure pour bien comprendre :
Dim Analyse As String
'ici tu déclares une variable "Analyse" de type String : qui reçoit du texte

 For Each Cell In Range("G2:G16641").SpecialCells(xlCellTypeVisible)
ici on demande à excel de verifier chaque cellule de G2 à G16641 (de quelle feuille, ça c'est pas précisé)

If Cell.Value <> "" Then
Si La cellule en cours de vérification est différente de vide, fait ce qu'il suit

 Analyse = Cell.Value
La variable Analyse reçoit la valeur de la cellule en cours (valeur qui n'est pas String du tout au passage)

 Worksheets(Analyse).Range("H1") = "yes"
ici tu demandes d'aller écrire "yes" dans la cellule H1 de la feuille qui porte le nom que l'on vient de récupérer dans la variable Analyse

End If
Fin du IF

Next
on passe à la cellule suivante

en voyant ton fichier je pense que ce n'est pas du tout ce que tu attends.. je me trompe?

0
Steinned Messages postés 24 Date d'inscription mercredi 29 mai 2019 Statut Membre Dernière intervention 9 janvier 2021
29 mai 2019 à 13:51
En effet l'idée de la macro est ailleurs.

Dans l'idéal je cherche à faire que ma macro prenne la valeur en colonne G après filtrage et me l'écrive en H1
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
29 mai 2019 à 14:04
et quel filtre est ce que tu attends exactement?
0
Steinned Messages postés 24 Date d'inscription mercredi 29 mai 2019 Statut Membre Dernière intervention 9 janvier 2021
29 mai 2019 à 14:10
Les colonnes B à F reprennent l'ensemble de les filtres que j'ai.
je me sers de ces 5 paramètres pour définir la valeur en G.
0
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 59
29 mai 2019 à 14:17
donc tu veux appliquer un filtre selon 5 critères pour qu'il ne reste qu'un article et que la valeur de la colonne G s'inscrive en H1?
0
Steinned Messages postés 24 Date d'inscription mercredi 29 mai 2019 Statut Membre Dernière intervention 9 janvier 2021
29 mai 2019 à 14:21
Oui
0