Si cellule contient mot d'une liste alors retranscrire le mot dans une autre col

Résolu/Fermé
Naririne Messages postés 106 Date d'inscription vendredi 9 août 2013 Statut Membre Dernière intervention 9 février 2022 - 14 sept. 2021 à 23:17
Naririne Messages postés 106 Date d'inscription vendredi 9 août 2013 Statut Membre Dernière intervention 9 février 2022 - 22 sept. 2021 à 15:26
Bonjour,

Pourrez-vous m'aider svp ?

Je possède un fichier avec 2 onglets (dans l'exemple en PJ).
La Datas est la base de mes ventes.
La Liste est la liste de mes produits.

Objectif : si cellule D2 (O. Datas) contient tel ou tel produit de la liste des produits (O. Liste), alors, mettre le nom du produit dans cellule G2 (O. Datas)
Faire de même jusqu'à qu'à la fin de la base (dans mon vrai fichier, je compte 40 000 lignes)

En somme, je voudrais dans l'onglet Datas, rapatrier le nom du produit vendu (colonne G) selon la désignation (colonne D)

La liste des produits en soit est simple mais les désignations sont complexes et contiennent le mot de tel ou tel produit.

Merci de votre aide !

https://www.cjoint.com/c/KIovpgSjo0R

Configuration: Windows / Chrome 93.0.4577.63

6 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
15 sept. 2021 à 09:24
Bonjour
voyez ici si ça peut convenir
'(explications en rouge dans le fichier)
crdlmnt

https://www.cjoint.com/c/KIphx5k58Oj
1
Naririne Messages postés 106 Date d'inscription vendredi 9 août 2013 Statut Membre Dernière intervention 9 février 2022 12
Modifié le 16 sept. 2021 à 09:41
Bonjour,

Merci de votre aide.
En voulant l'appliquer à mon fichier de base, rien ne va plus, j'ai pourtant respecter les consignes.
Il y aurait donc quelque chose qui m'échappe. C'est comme si ça fonctionnait 1 fois sur 2.

Ma base produit se décale de 24 lignes à chaque fois.

Est-ce parce que j'ai 40 000 lignes ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395 > Naririne Messages postés 106 Date d'inscription vendredi 9 août 2013 Statut Membre Dernière intervention 9 février 2022
Modifié le 16 sept. 2021 à 09:53
sans votre modèle, difficile de vous répondre?
Pouvez vous le déposer ici:
https://www.cjoint.com/
et revenir coller le lien créé sur le site, soit ici, soit en message personnel (en haut à droite)
à vous lire
crdlmnt
Ps: si problème pour cette opération, montrez nous ici au moins la formule que vous utilisez
0
Naririne Messages postés 106 Date d'inscription vendredi 9 août 2013 Statut Membre Dernière intervention 9 février 2022 12
14 sept. 2021 à 23:18
0
Raymond PENTIER Messages postés 58395 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 095
15 sept. 2021 à 15:31
Salut Vaucluse.

Très joli ! Bravo ...
0
Raymond PENTIER Messages postés 58395 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 095
16 sept. 2021 à 17:42
Bonjour Naririne.

Impossible !
La base produit est saisie en A1:A12 et est nommée "prod". Elle ne peut donc absolument pas se décaler, ni de 8, ni de 12, ni de 24, ni de 100 lignes, puisqu'elle n'est soumise à aucune formule, aucune macro, aucune manipulation !

Que tu aies 40, 400 ou 40000 lignes, cela n'a aucune incidence.
On attend la copie de ton fichier, avec 50 lignes et en remplaçant tes données confidentielles par des données bidon.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Naririne Messages postés 106 Date d'inscription vendredi 9 août 2013 Statut Membre Dernière intervention 9 février 2022 12
22 sept. 2021 à 11:49
Bonjour,

Désolé du retour tardif mais j'ai du trouver une solution "système D".
J'ai du me taper ce code (correspondant à la liste de produits).
Mais je ne sais pas faire la boule pour éviter d'avoir un code répétitif de 200 lignes...

Par ailleurs, je vous joints le fichier avec le bogue que je rencontre avec la formule de Vaucluse.
Je vous ai mis une trentaine de lignes :
- Problème sur le première lignes
- Problème aussi sur quelques lignes sur le reste du document

Sub ma_macro_1()

Dim Lig&, DerL&

For Lig = 2 To 39027

If InStr(1, Cells(Lig, 46).Value, "XXX") > 0 Then
Cells(Lig, 8) = "XXX"


End If
If InStr(1, Cells(Lig, 46).Value, "YYY") > 0 Then
Cells(Lig, 8) = "YYY"

End If
If InStr(1, Cells(Lig, 46).Value, "Produit X") > 0 Then
Cells(Lig, 8) = "Produit X"


https://www.cjoint.com/c/KIwjVRdyCdR

0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 395
22 sept. 2021 à 13:02
Bonjour
votre fichier en retour avec la formule adaptée au fait qu'il peut y avoir des textes en AT qui ne contiennent pas de texte de la liste
notez que pour vérif, j'ai modifié les deux premiers textes de la liste gamme
https://www.cjoint.com/c/KIwlchsIgej
crdlmnt
0
Naririne Messages postés 106 Date d'inscription vendredi 9 août 2013 Statut Membre Dernière intervention 9 février 2022 12
22 sept. 2021 à 15:26
UN GRAND MERCI !!

Je savais que c'était moi le souci lol.
je ne vous avais pas tout dit :)

Bonne journée !
0