Créer toutes les combinaisons possibles

Tout d'abord bonjour à tous, nouveau parmi vous j'ai un soucis pour trouver une formule, je cherche depuis plusieurs jours mais malgré mes essais je ne trouve pas ce que je veux faire.

Donc merci par avance à ceux qui prendront du temps pour me répondre.

Je monte une boutique prestashop et je suis en train de faire mon CSV pour l'import des produits.

J'ai quatre colonne pour les animaux (chien, chats, chevaux, etc) et 6 colonnes pour des sous catégories (Alimentation, hygiène, accessoires, etc)

Les colonnes sont remplies ou pas si le produit matche avec un animal et une sous catégorie.

Je souhaite créer toutes les possibilités possibles à partir de ces colonnes afin d'alimenter prestashop sachant qu'un produit qui est pour les chines par exemples donnnerait : Chiens,Chiens/accessoire,Chiens/alimentation. Ceci alimenterait la catégorie Chiens de prestashop mais également les sous catégories accessoire et alimentation de la catégorie chiens.

Merci d'avance

Bonjour

Un peu de lecture salutaire pour obtenir une réponse

https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html

Cordialement

OK merci, désolé si j'ai oublié quelque chose.

Je joins donc ci dessous un exemple :

EspèceSous menu
Chiens,ChatsAlimentation
ChienAlimentation
Chiens,ChatsAlimentation,Hygiène
Chiens,Chats,Chevaux,PoissonsAlimentation,hygiène

Je souhaite obtenir : Chiens,Chats,Chiens/alimentation,Chats/Alimentation

Merci beaucoup

bonjour,

une solution via une macro à adapter à ton fichier (ici la macro fait l'hypothèse que tes données sont en A1:B5)

Sub aargh()
    For i = 2 To 5
        e = Split(Cells(i, 1), ",")
        sm = Split(Cells(i, 2), ",")
        For i1 = LBound(e) To UBound(e)
            For i2 = LBound(sm) To UBound(sm)
                s = s & e(i1) & "/" & sm(i2) & ","
            Next i2
        Next i1
    Next i
    s = Left(s, Len(s) - 1)
    MsgBox s
End Sub

Merci de ta réponse. Je vais tester ça et reviens au résultat.

Tout d'abord merci.

J'ai oublié de mentionner que je voudrai que les valeurs se mettent dans une troisième colonne et en face de chaque double colonne. Je m'explique :

Chiens,Chats,Chiens/Aliment,Chiens/hygiène,Chats/Aliments,etc...Chiens,ChatsAliments,hygiène,Aliment spécifique
Chiens,Poissons,Chiens/Aliments,Poissons/Aliements,etc....Chiens,PoissonsAliments

En tout cas c'est sympa de m'aider à charge de revanche (pas sur excel en tout cas lol)

Bonjour,

Comme signalé, je t'ai mis une macro à adapter à ton fichier. N'ayant pas ton fichier, je te laisse faire l'adaptation.

J'ai fais quelques modifications liées à mon fichier. Je partage. Merci en tout cas.

Sub CategoriePrestashop()
    For i = 2 To 1000
        E = Split(Cells(i, 21), ",")
        sm = Split(Cells(i, 22), ",")
        For i1 = LBound(E) To UBound(E)
            For i2 = LBound(sm) To UBound(sm)
                s = s & E(i1) & "/" & sm(i2) & ","
            Next i2

        Next i1
            If IsEmpty(s) Then
                Cells(i, 20) = s

            ElseIf Cells(i, 20).Value Like "" Then
                Cells(i, 20) = s

            Else

                Cells(i, 20) = Left(s, Len(s) - 1)

            End If

            s = ""

    Next i

End Sub
Rechercher des sujets similaires à "creer toutes combinaisons possibles"