IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

COmprenant la Valeur.. [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut COmprenant la Valeur..
    Bonjour,

    Existe-il une macro pour traduire cette requette :

    Cacher les lignes qui ne contiennent pas la valuer de la cellule A1

    je connait la formule pour cacher les lignes, mais je n'arrive à rien de probant concernant la suite !

    une idée ??

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    la valeur cherchée est dans une colonne spécifique ou dans n'importe quelle colonne de la ligne ?

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Dans n'importe quelle colonne, sur la ligne ?

  4. #4
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Bonjour,

    Merci pour l'interet et le temps que vous accordez à mon post !

    Les deux solutions sont possible, on va donc aller au plus simple :

    Elle sont dans la même colonne.

    Cordialement.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Pour n'importe quelle colonne de la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
        Dim DerLigne As Long
        DerLigne = Cells.Find("*", , , , , xlPrevious).Row
        For i = DerLigne To 1 Step -1
            If Application.CountIf(Rows(i), [A1]) = 0 Then
                Rows(i).Hidden = True
            End If
        Next i
    End Sub

  6. #6
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Merci pour l'info,

    j'ai par contre du mal a la mettre en fonction, il me cache toute les valeurs.

    j'ai adapté la formule au tableau, donc rechercher la valeur de la cellule A4.

    Voici le document en Pj, ce sera peut être plus parlant.
    Fichiers attachés Fichiers attachés

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton2_Click()
     
     
        Dim DerLigne As Long
        DerLigne = Cells.Find([A4].Value, , , xlPart, xlByRows, xlPrevious).Row
        For i = DerLigne To 6 Step -1
            If Application.CountIf(Rows(i), [A4] & "*") = 0 Then
                Rows(i).Hidden = True
            End If
        Next i
    End Sub
    Tu aurais dû dire que la valeur cherchée se trouvait à l'intérieur d'une cellule.

  8. #8
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Bonjour et bonne journée à tous

    Merci pour les lignes de code et pour ta compréhenssion !

    On est sur la bonne voie !

    Néanmoins j'ai l'impression que la fonction ne prend pas en compte toute la cellule, en effet si je tape par exemple Fournisseur dans le module de recherche, il me trouve : Cidre 46 et Police Cidre.

    Quel peut en être la raison ??

    Avez vous des idées

    Cordialement.

  9. #9
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Au temps pour moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton2_Click()
     
     
        Dim DerLigne As Long
        DerLigne = Cells.Find("*", , , xlPart, xlByRows, xlPrevious).Row
        For i = DerLigne To 6 Step -1
            If Application.CountIf(Rows(i), "*" & [A4] & "*") = 0 Then
                Rows(i).Hidden = True
            End If
        Next i
    End Sub

  10. #10
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    MERCI DANIEL !!

    C'est exactement ce que je recherchais !

    Petite question /

    Si la recherche portait sur 3 colonne A, B et C et qu'au lieux de cacher les ligne qui ne correspondent pas, je fait apparaite les cellules qui correspondent dans une liste box appelé Lbx1 située sur la feuille3.

    Est ce possible ??

  11. #11
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    J'ai modifié la macro comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton2_Click()
     
     
        Dim DerLigne As Long
        DerLigne = Cells.Find("*", , , xlPart, xlByRows, xlPrevious).Row
        Sheets("Feuil3").Lbx1.Clear
        For i = DerLigne To 6 Step -1
            If Application.CountIf(Rows(i), "*" & [A4] & "*") <> 0 Then
                Sheets("Feuil3").Lbx1.AddItem Cells(i, 1).Value
            End If
        Next i
        Sheets("Feuil3").Select
    End Sub
    Le classeur modifié est en PJ.
    Fichiers attachés Fichiers attachés

  12. #12
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Merci pour le nouveau code,

    Je pense néanmois, que ce classeur ne correspond pas forcément à ma drnière intérogation,

    en effet, si les valeur à chercher soe siture sur 3 colonne A, B et B, le code recherche uniquement dans la colonne A.

    J'ai légèrement modifié la "liste" pour que cela corresponde au mieux à ma requette.

    Qu'en pense tu ?

    Ps: J'espère que je n'abuse pas de ta bontée.
    Fichiers attachés Fichiers attachés

  13. #13
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Il eut fallu que tu précises que les cellules n'étaient plus fusionnées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CommandButton2_Click()
     
     
        Dim c As Range, ResAdr As String
        DerLigne = Cells.Find("*", , , xlPart, xlByRows, xlPrevious).Row
        Sheets("Feuil3").Lbx1.Clear
        Set c = [A7:F43].Find([A4], , , xlPart)
        If Not c Is Nothing Then
            ResAdr = c.Address
            Do
                Sheets("Feuil3").Lbx1.AddItem c.Value
                Set c = [A7:F43].FindNext(c)
            Loop While ResAdr <> c.Address
        End If
        Sheets("Feuil3").Select
    End Sub

  14. #14
    Membre confirmé
    Expert en assurance
    Inscrit en
    Août 2012
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Expert en assurance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2012
    Messages : 55
    Par défaut
    Yes

    Merci beaucoup et désolé pour les oubli, c'est pas voulu

    Cordialement !!

    Have FUN

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Range comprenant 1 cellule sur 2 pour valeurs d'un graphique
    Par YanBos dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2014, 19h18
  2. [MySQL] Select une liste ne comprenant pas les valeurs de l'autre liste
    Par rickways dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 23/10/2008, 19h44
  3. Réponses: 11
    Dernier message: 31/03/2008, 19h18
  4. [XSLT]position d'un element de valeur specifique
    Par squat dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 25/07/2002, 16h42
  5. Réponses: 2
    Dernier message: 22/07/2002, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo