Comment récuper une valeur après un filtre

- - Dernière réponse : fabien25000
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
- 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
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46
1
Merci
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 

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 65964 internautes nous ont dit merci ce mois-ci

Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
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
fabien25000
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46 > Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
super, n'oublie pas de passer ton poste en résolu si ton problème est réglé, bonne route
Commenter la réponse de fabien25000
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46
0
Merci
bonjour,
je commencerai par essayer avec
For Each Cell In Range("G2:G16641")
à mon humble avis..
Commenter la réponse de fabien25000
0
Merci
Bonjour,

Merci de votre réponse mais ça ne marche pas si vous avez d'autres propositions je suis preneur.
Commenter la réponse de Steinner
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46
0
Merci
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



Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
comment on fait ça
fabien25000
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46 -
https://mon-partage.fr/ crée un lien de ton fichier, copie le et viens le coller ici
Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
fabien25000
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46 -
ok et donc sub test intervient ou?
tu demandes à la procédure d'aller écrire dans la cellule H1 de la feuille qui porte le nom qui est inscrit dans la cellule qu'il est en train de lire colonne G .. on regarde ça en début d'après midi si tu veux bien mais vu comme ça ça voulais pas fonction c'est sûr
Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
C'est plus du bricolage mes formules.
Quand tu veux pour regarder ça.
Commenter la réponse de fabien25000
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46
0
Merci
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?

Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
pour H1 il faut écrire la premier valeur. initialement je me suis concentré sur le faite d'arriver à avoir une valeur dans H1, j'aurai pas la suite fait évoluer la macro pour avoir 3 valeurs.
Par exemple :

Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
et idéalement chacun des résultats est reprit sur chacune des premiers colonnes à côté (H1,I1,J1)
fabien25000
Messages postés
589
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
26 juin 2019
46 -
donc finalement le sub Test sur lequel on bosse est une partie du bouton "Lancer la Recherche"?
Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
J'aurai tendance à dire oui
Steinned
Messages postés
16
Date d'inscription
mercredi 29 mai 2019
Statut
Membre
Dernière intervention
3 juin 2019
-
je vais être indisponible jusqu'à lundi prochain. je te remercie déjà pour l'aide que tu m'apporte et je te souhaite une bonne fin semaine
Commenter la réponse de fabien25000