Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Besoin d'aide SVP

mohcine_5

XLDnaute Nouveau
Bonsoir les amis ,

j'aurais besoin de votre aide sur un petit soucis que j'ai sur excel en effet je cherche une astuce pour automatiser mon fichier via des formule excel l'idée c'est de faire apparaitre si le meme utilisateur dans chaque ligne le them souhaité exemple utilisareur 188 aime fortet dans une ligne dans une autre ligne le meme utilisareur aime la plage ..... voici le tableau
merci beaucoup

Fichier brutIdée souhaité
188​
Foret ,plage ,montagne,maison
188​
foret
188​
Foret ,plage ,montagne,maison
188​
plage
188​
Foret ,plage ,montagne,maison
188​
montagne
188​
Foret ,plage ,montagne,maison
188​
maison
188​
Foret ,plage ,montagne,maison
177​
french
188​
Foret ,plage ,montagne,maison
177​
english
177​
FRENCH , ENGLISH,SPANISH
177​
spanish
177​
FRENCH , ENGLISH,SPANISH
230​
pomme ,banane,poire ,fraise
230​
pomme ,banane,poire ,fraise
230​
pomme ,banane,poire ,fraise
230​
pomme ,banane,poire ,fraise
 
Solution
Bonsoir à tous,

Une méthode sans macro est expliquée dans le fichier joint.

ça ressemble à du bricolage mais au bout du compte, ça le fait.

Ce n'est pas automatique, ça ne remplace pas une bonne macro mais puisque c'est urgent...

Bonne-nuit

mohcine_5

XLDnaute Nouveau
Bonjour ,
je tiens à m'excuser si quelques chose m'est echappé j'aurais juste besoin d'aide parceque j'ai un livrable demain si vous pouvez tenir compte de ma reque je vous serais reconnaissant à vie
et merci mille fois
 

Staple1600

XLDnaute Barbatruc
Re

Sur mon fichier de test, ce truc fait un quelque chose d'approchant du résultat souhaité
VB:
Sub Macro1()
Dim c As Range, j&, t
'Suppression doublons
Range("A1:B" & Val("Staple") + 1600).RemoveDuplicates Columns:=1, Header:=xlNo
j = 1
For Each c In Range("B1:B" & Cells(Rows.Count, 1).End(xlUp).Row)
t = Split(VBA.Trim(c.Text), ",")
Cells(j, "D").Resize(UBound(t) + 1) = Application.Transpose(t)
Cells(j, "C").Resize(UBound(t) + 1) = Cells(c.Row, "A")
Erase t
j = Cells(Rows.Count, 4).End(xlUp).Row + 1
Next
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Non, je ne peux pas.
Attendons le passage d'un formuliste

PS: Tu me redis Bonjour, mais je suis le même qui te disait de lire la charte du forum
Tu sais que tu peux éditer le titre de ta question.
Afin que ton titre résume bien ta question.
Car "Besoin d'aide URGENT" ne nous apprend rien...
1) On sait que les gens qui posent ici des questions cherchent de l'aide
2) Mais on se fiche de savoir si c'est urgent ou pas.
 

Staple1600

XLDnaute Barbatruc
Re

Dilemme ou choix cornélien
Dans l'urgence, vaut-il attendre une formule ou prendre le temps d'apprendre** comment on utilise une petite macro* sur un classeur?
*: surtout quand la petite macro est déjà écrite, et qu'on a juste a la copier dans Excel.

**: sachant qu'il y a plein de tutos sur le web pour expliquer.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Une méthode sans macro est expliquée dans le fichier joint.

ça ressemble à du bricolage mais au bout du compte, ça le fait.

Ce n'est pas automatique, ça ne remplace pas une bonne macro mais puisque c'est urgent...

Bonne-nuit
 

Pièces jointes

  • mohcine_5- bricolage- v1.xlsx
    20.7 KB · Affichages: 12
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…