Récupération de donnée d'une cellule sous 2 conditions

Bonjour à tous,

Je vous explique ma problématique, je voudrais savoir si il est possible de récupérer des données de plusieurs cellules contenant un Trigramme (colonne A), en fonction d'un champ spécifique en colonne B de Type rouge, vert...mais également la prise en compte d'une valeur en colonne C (il faut qu'il y est un chiffre, on de prend pas en compte les champs vide). Il faudrait ensuite que toutes les valeurs qui remplissent ces conditions apparaissent dans une même case.

Je vous joint une photo de ce que ça pourrait donner.

En clair en colonne E, afficher les différents trigramme si les conditions sont remplies.

J'espère avoir été assez clair sinon je m'en excuse par avance.

2020 11 06 12h12 55

Bonjour,

Avec un bout de code VBA

Sub Recup()
    Dim DerLig As Long, Lig_Rouge As Long, Lig_Verte As Long, Lig_Jaune As Long
    Dim i As Long
    Dim C_Rouge As String, C_Verte As String, C_Jaune As String
    Application.ScreenUpdating = False

    Columns("E").ClearContents
    Lig_Rouge = 4
    Lig_Verte = 5
    Lig_Jaune = 6
    DerLig = Range("A" & Rows.Count).End(xlUp).Row
    For i = 4 To DerLig
        If Cells(i, "C") <> "" Then
            Select Case Cells(i, "B")
                Case Is = "Rouge"
                    C_Rouge = C_Rouge & ", " & Cells(i, "A")
                Case Is = "Vert"
                    C_Verte = C_Verte & ", " & Cells(i, "A")
                Case Is = "Jaune"
                    C_Jaune = C_Jaune & ", " & Cells(i, "A")
            End Select
        End If
    Next i
    If C_Rouge <> "" Then Cells(Lig_Rouge, "E") = Right(C_Rouge, Len(C_Rouge) - 2)
    If C_Vert <> "" Then Cells(Lig_Verte, "E") = Right(C_Vert, Len(C_Vert) - 2)
    If C_Jaune <> "" Then Cells(Lig_Jaune, "E") = Right(C_Jaune, Len(C_Jaune) - 2)
End Sub

Cdlt

Suppression de la pièce jointe le 09/06/2025

Merci Arturo, en effet ça fonctionne bien mais y a-t-il une formule qui ferait la même chose?

En effet je dois reporter ce shema plusieurs fois, imaginons que la colonne C et E soit en fait des mois, du coup le code à mettre ne place risque d'être trés long, surtout qu'en réalité ma colonne "E" se trouve sur une autre feuille de classeur.

Par avance merci pour votre aide

"mais y a-t-il une formule qui ferait la même chose? En effet je dois reporter ce schema plusieurs fois, imaginons que la colonne C et E soit en fait des mois, du coup le code à mettre ne place risque d'être trés long, surtout qu'en réalité ma colonne "E" se trouve sur une autre feuille de classeur."

Comment se présente le vrai fichier pour pouvoir adapter le code?

Arturo, le fichier se présente comme suit :

- Une feuille "Mois" contenant : colonne B des Trigramme à reporter, colonne E contient les "couleurs", 16 au total. Colonne E janvier, F Février etc (l'essentiel est de prendre en compte lorsqu'il y a une valeur.

- Une feuille "Report" : dans la colonne A on retrouve nos 16 "couleurs" avec en colonne D les Trigramme correspondant.

Je joins le fichier pour être plus clair

Bizarre votre fichier, il n'y a rien qui correspond à la description que vous en faites

J'ai ajouté des notes dans mon fichier avec un exemple.

Bonjour Daywalker,

Voici une petite fonction qui fera le boulot (normalement)

Utilisation

=Recup(RéférenceAchercher;PlageDeRecherche;QuelMoisEnRetour)

@+

Ca fonctionne nickel, un grand merci :)

J'ai une petite question dans ma compréhension dans la formule de "COLONNE", à quoi correspond le -3 ainsi que les crochets?

Par avance merci

Re,

Comme dans la formule il faut indiquer le numéro du mois que l'on veut récupérer = numéro de colonne, donc on doit commencer à 1

Comme ta 1ère colonne début en D, soit la 4ème colonne, on met dans la formule : Colonne()-3

La fonction Colonne() donne le numéro de colonne de la cellule

@+

Merci pour votre retour rapide

Rechercher des sujets similaires à "recuperation donnee conditions"