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 :

afficher des cellules d'un tableau à l'aide d'une combobox avec condition répétition


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut afficher des cellules d'un tableau à l'aide d'une combobox avec condition répétition
    Salut le forum,
    aider moi svp , je suis vraiment bloqué ,
    bref , j'ai une combobox qui recupére des valeurs d'un tableau a condition que la valeur choisi dans le combobox egale a une des valeurs qui se trouve dans un range du tableau, par contre , le range du tableau contient des valeurs répétés , mais tant qu'il est filtré en mode croissant , donc les valeurs se situent l'un après l'autre , pour cela j'ai fais un compteur qui me renvois le numero de repetition du valeur , en gros j'ai 2 action , si la valeur n'est pas répété , j'affiche les infos normale dans des cellules spécifique et sinon , je dois affiché les infos dans un autre endroit de la page , et la je suis coincé , quand il trouve une seule valeur , il affiche les infos normal , mais quand il trouve plus , c'est comme s'il affiche les infos de toutes les valeurs répétés
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Sub ComboBox1_Change()
    Dim i, j As Integer
    Dim c As Long
    With Worksheets("OS")
    s = 0
    q = Sheets("Suivi OS").Range("A5").End(xlDown).Row
    c = Sheets("OS").ComboBox1.Value
    rept = 0
    [A40:G80].ClearContents
     For i = 5 To q + i                  'le range ou les valeurs sont enregistrès
       If Sheets("Suivi OS").Cells(i, 1) = c Then
        With Worksheets("Suivi OS")
    For j = 5 To q                            ' le compteur
    If (Worksheets("OS").ComboBox1.Value) = .Cells(j, 1).Text Then
    rept = rept + 1
    End If
    Next
    End With
    r = rept
     
    'Si le nombre choisi dans le combobox n'existe qu'une seule fois
     
     
         If (r = 1) Then
         'MsgBox "1"
          .Cells(7, 2).Value = Sheets("Suivi OS").Cells(i, 9).Value
          .Cells(14, 1).Value = Sheets("Suivi OS").Cells(i, 6).Value
          .Cells(14, 5).Value = "Réf : " & Sheets("Suivi OS").Cells(i, 5).Value
          .Cells(14, 6).Value = "Qt : " & Sheets("Suivi OS").Cells(i, 8).Value
                            ...
     
     
      'si le nombre choisi dans le combobox est supérieur a 1 
     
          ElseIf (r >1) Then   ' la j'ai essayé elseif  et alse tte seule
          MsgBox "2"
          .Cells(14, 1).Value = "Voir Annexe"
          For f = 43 To 42 + r
           For k = i To (k - 1) + r
            .Cells(f, 1).Value = Sheets("Suivi OS").Cells(k, 6).Value
            .Cells(f, 4).Value = "Ref : " & Sheets("Suivi OS").Cells(k, 5).Value
            .Cells(f, 5).Value = "Qt : " & Sheets("Suivi OS").Cells(k, 8).Value
            .Cells(f, 6).Value = "Prix : " & Sheets("Suivi OS").Cells(k, 7).Value
            f = f + 1
             s = s + (Sheets("Suivi OS").Cells(k, 9).Value)
            Next k
             Next f
             .Cells(7, 2).Value = s
          .Cells(5, 2).Value = Sheets("Résumé").Cells(14, 9).Value
          .Cells(3, 2).Value = ("N°" & Sheets("Résumé").Cells(13, 9).Value)
        ...

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    je ne comprends pas exactement ce que tu veux faire mais pourquoi effectuer une boucle pour afficher les données en cas de répétitions si tu ne veux les afficher qu'une fois?
    Alleï Bonjour chez vous!

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    parce que dans chaque ligne ya des informations différentes, et toutes ces lignes correspond au même référence , c'est ça .

  4. #4
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    ben donc, ils va te retourner x fois les même références
    Alleï Bonjour chez vous!

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    nn , quand je le donne comme condition si la repetition egale à 2 fois par exemple , il me retourne les 2 lignes, mais moi je ne peux pas travailler comme ça , car elle peut être repeter meme 8 fois , donc je vais pas faire 8 conditions, et quand je fais plus q'une fois , il me retourne les lignes qui corresponds à toutes les variables qui sont répétés plus qu'une fois, c'est comme s'il sort pas de la boucle

  6. #6
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    c'est ce que je te dis
    si il renvoie X ligne identiques, pourquoi demande tu à ton code de les traiter toutes?
    Alleï Bonjour chez vous!

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    donc , comment je dois faire pour qu'il sort de la boucle quand il trouve la première variable qui se répété plus qu'une fois ?

    mais normalement , il dois pas me donner ttes les variables , puisque déja dans la première conditions je lui demande de renvoyer que la valeur qui égale au variable sélectionner dans le combobox ,
    je comprends rien

  8. #8
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    moi en gros, d'après ce que tu me dis, je mettrais simplement un VLOOKUP avec pour référence de recherche la valeur du combobox dans les cellules de destinations.
    Alleï Bonjour chez vous!

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 62
    Points
    62
    Par défaut
    Re - bonjour ,

    elle fait quoi cette fonction ? et comment je peux l'utiliser
    Merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/02/2015, 23h38
  2. [WD10] Afficher des valeurs dans un tableau
    Par dj-julio dans le forum WinDev
    Réponses: 4
    Dernier message: 19/03/2014, 11h32
  3. Réponses: 4
    Dernier message: 17/03/2008, 11h03
  4. [HTML] afficher des courbes dans un tableau html ?
    Par MAJIK_ENIS dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 10/05/2006, 15h19
  5. [Swing][JTable]Fusion des cellules d'un tableau
    Par LordBlaize dans le forum Composants
    Réponses: 1
    Dernier message: 23/03/2006, 18h48

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