XL 2013 Copier suivant critères

yoda60

XLDnaute Nouveau
bonjour,

Je dispose de 3 colonnes critères dans le second onglet, je souhaiterais les noter en feuil1, si ils sont contenu dans la colonne 1.

Si il devait y avoir plusieurs critères à reporter dans une colonne , il faudrait les reporter avec un "; " en séparateur.

en espérant être clair.

cdt
 

Pièces jointes

  • test - Copie.xlsm
    12.4 KB · Affichages: 5
Solution
Bonjour yoda60,

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub criteres()
Dim tablo, crit, ub&, i&, x$, j%, y$, k&, z$
With [Tableau1].Resize(, 4) 'tableau structuré
    tablo = .Value 'matrice, plus rapide
    crit = Sheets("critères").[A1].CurrentRegion.Resize(, 3) 'matrice, plus rapide
    ub = UBound(crit)
    For i = 1 To UBound(tablo)
        x = Replace(Replace(tablo(i, 1), " ", ""), "+", ";") & ";"
        For j = 1 To 3
            y = ""
            For k = 2 To ub
                z = crit(k, j)
                If z = "" Then Exit For
                If InStr(x, z & ";") Then y = y & ";" & z
            Next k
            If y = "" Then tablo(i, j + 1) = "" Else tablo(i, j + 1) = Mid(y, 2)
    Next j, i...

job75

XLDnaute Barbatruc
Bonjour yoda60,

Voyez le fichier joint et la macro affectée au bouton :
VB:
Sub criteres()
Dim tablo, crit, ub&, i&, x$, j%, y$, k&, z$
With [Tableau1].Resize(, 4) 'tableau structuré
    tablo = .Value 'matrice, plus rapide
    crit = Sheets("critères").[A1].CurrentRegion.Resize(, 3) 'matrice, plus rapide
    ub = UBound(crit)
    For i = 1 To UBound(tablo)
        x = Replace(Replace(tablo(i, 1), " ", ""), "+", ";") & ";"
        For j = 1 To 3
            y = ""
            For k = 2 To ub
                z = crit(k, j)
                If z = "" Then Exit For
                If InStr(x, z & ";") Then y = y & ";" & z
            Next k
            If y = "" Then tablo(i, j + 1) = "" Else tablo(i, j + 1) = Mid(y, 2)
    Next j, i
    '---restitution---
    .Value = tablo
End With
End Sub
A+
 

Pièces jointes

  • test - Copie(1).xlsm
    21.3 KB · Affichages: 3

Discussions similaires

Réponses
6
Affichages
534

Statistiques des forums

Discussions
299 728
Messages
1 978 787
Membres
206 393
dernier inscrit
Pierrot stableford