Catégoriser des données via deux colonnes sources

21trame.xlsm (10.27 Ko)

Bonjour à tous,

J'espère que le titre n'est pas trop vague. Je dois catégoriser les données d'un import dans une colonne (C dans le fichier) mais pour ce faire, il me faut osciller entre deux colonnes sources (A et B). Malheureusement pour moi, certaines données sont inexistantes pour les types 1 et 2 en colonne A et inexploitables pour les autres en colonne B...

Á la base, j'étais parti sur une fonction SI en utilisant aussi les conditions ET et OU mais je suis bloqué du fait qu'il y a ait deux colonnes sur lesquelles travailler (et puis 14 conditions, ça aurait peut-être fait un peu beaucoup pour une formule...). Il y a bien la solution d'effectuer une RechercheV dans un nouvel onglet mais j'aurais préféré quelques chose d'un peu plus propre car mon fichier comporte déjà beaucoup d'onglets.

HELP, PLEASE !!!

.

bonjour,

une proposition

40trame.xlsm (12.36 Ko)

Hello h2so4, merci de m'avoir répondu. Le problème c'est qu'il faut créer un nouvel onglet et j'aurais préféré éviter.

Bonjour,

C'est à priori simple. Si tu ne veux pas de table intermédiaire, soit tu codes en VBA, soit tu retournes avec tes 14 formules imbriquées.

Par quelle magie pourrait-il en être autrement ?

En effet, pas de magie ; je n'arrive juste pas à le faire en VBA. Je sais que je dois mettre des conditions en fonction de la comparaison de plusieurs chaînes de caractères mais je n'y arrive pas. Je débute vraiment sur ce domaine ; bidouiller un code existant, j'arrive à m'en sortir mais partir de zéro...

Ou alors tu utilises la bonne méthode de h2so4... 3 colonnes à caser quelque part, que tu peux même masquer si tu veux ... Et c'est quand même une solution super simple à faire évoluer.

Je sais, on ne jure que par RECHERCHEV dans ma boite et nos tableaux en sont gavés. OK je vais continuer cette méthode. Merci.

Pour faire original, tu peux aussi utiliser index et equiv ;)
Autant je ne suis pas forcément un grand fan des RECHERCHEV à foison autant là, ça semble être une des solutions optimales.

Bonjour,

on peut faire du vba. Mais pour avoir une solution paramétrable sans devoir adapter en permanence le code, il faudra aussi une table de correspondance (critères, type).

canevas de vba (sans table de correspondance) pour ton problème (à compléter)

Sub aargh()
    With Sheets("feuil1")
        dl = .UsedRange.Rows.Count
        For i = 2 To dl
            'on cherche sur base de la colonne A
            Select Case .Cells(i, 1)
                Case "***C***"
                    .Cells(i, 3) = "Type 3"
                Case "***D***"
                    .Cells(i, 3) = "Type 4"
                    'etc
                Case Else 'pas trouvé en colonne A
                    ' on cherche sur base de la la colonne B
                    Select Case .Cells(i, 2)
                        Case "A/R catégorie A"
                            .Cells(i, 3) = "Type 1"
                        Case "A/R catégorie B"
                            .Cells(i, 3) = "Type 2"
                            'etc
                        Case Else
                            .Cells(i, 3) = "Non trouvé"
                    End Select
            End Select
        Next i
    End With
End Sub
Rechercher des sujets similaires à "categoriser donnees via deux colonnes sources"