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 :

VBA afficher toutes les valeurs en fonction d'une condition [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut VBA afficher toutes les valeurs en fonction d'une condition
    Bonjour

    Ne connaissant rien en vba, j'aimerai trouver un code qui affiche dans une feuille2 à partir de C4, toutes les valeurs de la colonne A feuille1 en fonction d'une valeur d'une cellule a1 de la feuille2. La table n'est pas figé et le nombre d'enregistrements évolue.
    J'ai commencé par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sheets("feuille1").Select
    Range("A1").Select
    Dim i As Long
     
    For x = 1 To cells.Count
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    mais je ne sais pas du tout comment faire.
    Merci beaucoup pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Sub test()
     
        Dim ligne As Long
     
        ligne = Sheets("feuille1").Cells(Rows.Count, 1).End(xlUp).Row
     
        If Sheets("feuille2").Range("A1").Value = 'ta condition Then
            Sheets("feuille1").Range("A1:A" & ligne).Copy Destination:=Sheets("feuille2").Range("C4")
        End If
     
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Bonjour

    Merci pour votre réponse mais il ne se passe rien

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ah ? Tu as bien modifié la condition de mon If pour l'adapter à ton cas ? Si tu as un doute montre moi directement le code.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Ma condition c'est la valeur 04 qui est en format texte
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sheets("feuille1").Select
        Range("A1").Select     
     
        Dim ligne As Long   
     
     
        ligne = Sheets("feuille1").Cells(Rows.Count, 1).End(xlUp).Row
     
        If Sheets("feuille2").Range("a4").Value = "04" Then
            Sheets("feuille1").Range("A1:A" & ligne).Copy Destination:=Sheets("feuille2").Range("C6")
        End If

  6. #6
    Invité
    Invité(e)
    Par défaut
    Si tu n'as pas d'erreur à l'exécution, tu peux essayer de lancer le code en pas à pas (avec F8) pour voir ce qu'il se passe. Comme sa je dirais que la condition du If n'est pas respecté.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Comment exécute-on du pas à pas

  8. #8
    Invité
    Invité(e)
    Par défaut
    Dans ton éditeur VBA (tu y a accèdes avec Alt +F11), tu cliques dans ta macro et tu appuies sur F8 pour lancer le pas à pas, sa te permet d'exécuter ton code ligne par ligne (pour passer d'une ligne à l'autre il faut appuyer sur F8).

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Si je fais F8 sur chaque ligne le curseur reste sur la feuille 1 en A1

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    En exécutant la macro je me suis rendue compte que j'avais oublié un paramètre

    Si dans la feuille1 col E j'ai la valeur qu'il y a dans la feuille2 alors je copie la valeur en col A de la feuille1 dans la feuille2 en c6.

    Et je dois faire la même chose pour plusieurs feuilles en fonction leur code copier la valeur de la col A de la feuille1 dans la feuille adéquate.

    Je ne sais pas si je suis très claire

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Après plusieurs réflexions, voici le résultat que j'aimerai obtenir pour une feuille mais le code n'est pas bon. En plus il faudrait le faire pour toutes les feuilles du classeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sheets("feuille1").Select
        Range("A1").Select  
     
        Dim i As Long
          For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
             If Sheets("feuille1").Range("e2:e").Value = Sheets("feuille2").Range("A4") Then
              Sheets("feuille1").Range("A1:A" & i).Copy Worksheets("feuille2").Range("C6")
             End If    
         Next
    Merci pour votre aide

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zaza45 Voir le message
    En exécutant la macro je me suis rendue compte que j'avais oublié un paramètre

    Si dans la feuille1 col E j'ai la valeur qu'il y a dans la feuille2 alors je copie la valeur en col A de la feuille1 dans la feuille2 en c6.

    Et je dois faire la même chose pour plusieurs feuilles en fonction leur code copier la valeur de la col A de la feuille1 dans la feuille adéquate.

    Je ne sais pas si je suis très claire
    Bonjour,

    Si j'ai bien compris, si tu as n'importe où dans ta colonne E de ta feuille la valeur présente dans une des cellules de ta feuille2 (laquelle ?), tu fais ton copier coller ? Et l'objectif final est de faire ceci pour plusieurs feuilles à la fois ?

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Bonjour

    je relance ma demande car à cette heure je n'ai pas trouvé de solution pour ma macro.

    Peut-être y a t-il une solution excel

    Si dans la feuille2 j'ai une valeur en a4 qui est 04,
    A chaque fois que je trouve cette valeur dans la feuille 1 en col E

    j'affiche la valeur de la col 1 dans la feuille 2 à partir de C6 et ainsi de suite pour toutes les valeur 04 que je vais trouver dans la feuille 1.

    Merci beaucoup pour votre aide parce que je suis complétement perdue

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Bonjour Oudommer

    Oui c'est cela

    si à chaque fois que je trouve n'importe où dans la colonne E de la feuille1
    la valeur (04 par exemple c'est le code département) qui est dans la feuille 2 en a4

    je copie la valeur qui est en col a de la feuille 1 dans la feuille 2 à partir de c6.

    j'ai une feuille par département

    Il fau que je remplisse chaque feuille à partir de la feuille 1

  15. #15
    Invité
    Invité(e)
    Par défaut
    Ok, j'essaye d'y réfléchir dès que j'ai du temps (beaucoup de taff aujourd'hui). Dès que j'ai quelque chose je te montre.

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Merci beaucoup d'essayer parce que je desespère

  17. #17
    Invité
    Invité(e)
    Par défaut
    Voilà un code qui marche de mon côté pour une seule feuille pour l'instant, dit moi ce que tu penses :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    Public Sub zaza()
     
        Dim res As Range
        Dim ligne As Integer
        Dim address As String
     
        Set res = Sheets("feuille1").Range("E:E").Find(Sheets("feuille2").Range("A4"))
        ligne = 6
     
        If Not res Is Nothing Then
     
            address = res.address
     
            Do
                Sheets("feuille2").Cells(ligne, 3).Value = Sheets("feuille1").Cells(res.Row, 1).Value
                Set res = Sheets("feuille1").Range("E:E").FindNext(res)
                ligne = ligne + 1
            Loop While Not res Is Nothing And res.address <> address
     
        End If
     
        Set res = Nothing
     
    End Sub

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Cette fois-ci la macro réagi dès que l'on trouve la valeur 04 de la feuille2 ou autre code dept il affiche bien des valeurs de la col 1 de la feuille 1

    Mais ce ne sont pas les valeurs en relation avec le code département en a4 sur la feuille2



    voici la table principale
    FEUILLE 1
    CODE DEPT FORMAT TEXTE
    TTR-55120-01 84
    TTR-55120-02 84
    TTR-55120-03 84
    TTR-45140-04 04
    TTR-84120-01 83
    TTR-74130-01 06
    TTR-06110-01 66
    TTR-84120-02 83
    TTR-83155-01 31
    TTR-95460-01 45
    TTR-84120-03 83


    Voici ce que je dois trouvé
    FEUILLE 2

    EN A4 PAR EX 84
    JE DOIS TROUVER EN C6
    TTR-55120-01
    TTR-55120-02
    TTR-55120-03

  19. #19
    Invité
    Invité(e)
    Par défaut
    Qu'est ce que tu trouves actuellement quand tu lances la macro ?

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 158
    Par défaut
    Par exemple si je prends le département 66 il me donne des codes du dept 32-83-30
    Il n'y as pas de correspondance même si je change le format des dept en standard

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [Vxi3] Afficher toutes les valeurs de dimensions fusionnées
    Par ecoulees dans le forum Webi
    Réponses: 3
    Dernier message: 11/12/2014, 16h35
  2. Afficher toutes les valeurs champ SQL
    Par nef1912 dans le forum Langage
    Réponses: 8
    Dernier message: 12/06/2014, 16h32
  3. [XL-2007] Afficher toutes les valeurs associées à une autre valeur
    Par lecter85 dans le forum Excel
    Réponses: 2
    Dernier message: 19/12/2012, 18h23
  4. [PHP 5.2] [POO] Afficher toutes les valeurs de mes attributs
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 15/02/2010, 23h04
  5. [XL-2000] Chart - forcer l'axe des abscisses à afficher toutes les valeurs
    Par jax54000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2010, 07h55

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