Extraction et traduction automatise dune base de donnee

bonjour a tous

Pour le boulot jaurrais besoin dautomatiser une tache qui risque detre penible a la longue, qui est

1) lextraction (que seulement certaines cellules soit visibles dans certaines colonnes), et donc davoir une fonction permettant de ne cocher que certaines options dans la liste deroulante en tete de certaines colonnes

2) de traduire certaines colonnes a partir dune base de donne toute simple texte en japonais - texte en francais que jai deja realise, mais qui est un fichier externe a la base de donnees initiale.

Pour ce qui est du 1, jimmagine que cest faisable facilement en vba, mais je ny connais pas grand chose et les choses que je trouve ne correspondent pas trop a ce que je recherche.

Pour le 2, le seul truc aue je sais faire cest introduire une liste de conditions if. Cela fonctionne quand on na que quelques conditions, mais dans certaines collones jai plus de 100 references... a moins que dans une macro on puisse creer un tableau de correspondance tout simple?

Voila, je me sens un peu bete de poser un telle question parceque pour certains celq est peut etre facile... Je remercie davance ceux qui vont se poser sur ce probleme.

Bien a tous.

Salut et bienvenue sur le Forum,

Ta demande est bien peu claire

Il nous faudrait au moins deux bouts de fichier ; l’un dans lequel on pourrait voir comment se présente ta base de donnée et l’autre dans lequel on pourrait voir ce qui doit être masqué et à quelles conditions.

Si tes fichiers sont confidentiels, présente-nous des fichiers modèle de structure exactement semblable mais avec quelques lignes exemples seulement.

A propos, ces deux fichiers sont placés dans le même dossier de ton arborescence ?

Pour joindre un fichier ……..

joindre un fichier

Merci de ta reponse Yvouille.

Voici un exemple tres simplifie de ma base de donnees, mais l'idee est la.

Il y a pas mal de colonnes que je voudrais pouvoir supprimer, alors j'en ai mis une aussi dans l'exemple.

Disons par exemple que je voudrais que la macro ne maffiche que les lignes concernant les pates, le riz et la patate douce, et ce pour le commercial Mr A.

Je n'y connais pas grand chose, mais est ce que avec une macro il serait possible de ne selectionner que ces lignes en utilisant les tete de colomne deroulantes? Ou bien doit-on passer par une boucle dans les colonnes concernees avec des While et plusieurs conditions, qui supprimerait physiquement les lignes qui ne correspondraient pas? L'idee de supprimer les lignes est bonne, mais jai peur qu'une boucle dans un grand fichier avec 6,7, voir jusqua une 10aine de conditions s'avere lourde a derouler.

Ensuite, et c'est la que ca se corse, je voudrais traduire les colomnes Client et Produit. J'ai deja un fichier tout simple pour chaque, avec juste deux colonnes (une pour la langue d'origine, et une autre pour la langue d'arrivee), ce qui donne des fichiers du genre suivant:

ficher trad_client

Client 1 - Customer 1

Client 2 - Customer 2

Client 3 - Customer 3

et

fichier trad_produit

Nouilles - Noodles

Pates - Pasta

Riz - Rice

Il faudrait donc que la macro aille chercher les correspondancs et remplace les mots d'une langue en ceux d'une autre.

Voila, j'espere que c'est tout de meme plus clair que tout a lheure.

Encore merci.

19exemple.xlsx (10.28 Ko)

Bon, je me lance avec un debut de code, mais je ne sais pas du tout ce que ca vaut...

Sub extraction()

Range("C3").Select

While ActiveCell.Value <> "Pates"

Or ActiveCell.Value <> "Riz"

Or ActiveCell.Value <> "Patate douce"

ActiveSheet.Lines(ActiveCell.Line).Delete

ActiveCell.Offset(1, 0).Range("C3").Select

Wend

Range("B2").Select

While ActiveCell.Value <> "Mr A"

ActiveSheet.Lines(ActiveCell.Line).Delete

ActiveCell.Offset(1, 0).Range("B2").Select

Wend

End sub

Pour la traduction par contre je n'ai pas le debut de la moindre idee...

Bon, pour ce qui est de cacher les lignes, il suffit d'utiliser l'enregistreur de macro.

Ce qui donne le code suivant :

Sub Extraction()

'

' Extraction Macro

'

'

ActiveSheet.ListObjects("テーブル2").Range.AutoFilter Field:=3, Criteria1:= _

Array("Nouilles", "Patate douce", "Pates"), Operator:=xlFilterValues

ActiveSheet.ListObjects("テーブル2").Range.AutoFilter Field:=2, Criteria1:= _

"Mr A"

End Sub

C'est plutot simple et de bon gout, mais je prefererais tout de meme que les lignes qui ne sont plus la soient supprimees plutot que juste "cachees".

Pour ce qui est de la traduction, j'ai vu que l'on pouvait acceder a d'autres fichiersavec des formules du style

Workbooks("clients-trad.XLS").Sheets("Sheet1").Activate

Avec une variable string, des boucles while et des offsets il doit etre possible de faire quelquechose.

Quelqu'un aurait il une proposition?

Salut,

Désolé, mais je ne vais pas me lancer dans la lecture des tes TROIS messages et essayer de voir ce qui s’y complète, ce qui s’y répète, ce qui s’y contredit

Soit tu m’écris un nouveau message – et un seul – dans lequel tu résumes les trois précédents et tu me laisses le temps d’en prendre connaissance, soit je laisse tomber.

paulhenry a écrit :

Quelqu'un aurait il une proposition?

Je t'ai déjà promis une réponse, non ????

A te relire.

Bonjour

Yvouille, desole d'avoir complique les choses. Tout est ecrit dans mon second message.

Le reste n'est que suppositions de ma part quant a la voie a prendre pour arriver a mes fins. En gros je voulais montrer que je cherchais a avancer dans mon coin. Mais je te fais plus confiance qu'a moi pour trouver la bonne methode

Re-bonjour,

Je t’avais demandé de me fournir deux fichiers ; tu ne m’en as fourni qu’un seul.

Je t’avais demandé si tes deux fichiers étaient placés dans le même dossier ; je ne pense pas que tu m’aies donné l'information dans tes multi-réponses.

Tu indiques que tu aimerais avoir la possibilité de filtrer certaines données, mais tu as déjà des filtres en place sur ton fichier. Ne sais-tu pas utiliser les filtres en place ou voudrais-tu pouvoir faire quelque chose en plus que les filtres en place ne peuvent pas ? Les filtres en place sont très puissants, s’ils conviennent, inutile de vouloir réinventer la roue.

Après que tu m’aies fourni ton fichier contenant les traductions, j’aimerais encore savoir quel est le résultat final attendu. A quel endroit faut-il placer les mots en japonais correspondant aux mots en français des colonnes A et C (Clients et Produits) ?

A te relire.

Toute mes excuses, je poste en tout 4 fichiers :

  • la base de donnee de depart
  • le resultat escomte
  • le fichier trad_client
  • le fichier trad_produit

Les fichiers seront places dans le meme dossier lorsequ'il sera fait appel au code.

Le fichier de base contient certe deja des filtres, cependant il y a tellement de choses a cocher dans plusieurs colonnes que j'aimerais pouvoir automatiser le filtrage.

Enfin, comme dans le fichier resutatespere.xls, je souhaiterais que les mots en anglais remplacent purement et simplement ceux en francais.

Voila, j'espere que j'ai pu repondre a toutes tes questions.

15exemple.xlsx (10.28 Ko)
15trad-client.xlsx (9.00 Ko)
13trad-produit.xlsx (8.96 Ko)

Salut,

Je ne sais vraiment plus où en est !

Tu m’avais dit que tu avais deux fichiers, au début tu ne m’en as fourni qu’un seul, maintenant tu en as 3 ou 4.

Tu ne me dis pas avec précision ce que tu voudrais en plus des filtres Excel (qui me semblent déjà très complets).

Tu voulais des traductions français-japonais, tu veux maintenant des traductions français-anglais.

Tu veux quoi à la fin ???

Peux-tu indiquer ce fil comme ‘Résolu’ en cliquant sur le petit V vert dans l’un de tes messages et recommencer un nouveau fil sur lequel tu indiques dès le départ ce que tu désires sans changer vingt fois d’idée en cours de route ?

J’ai pourtant bien essayé de t’aider !!

Amicalement.

Rechercher des sujets similaires à "extraction traduction automatise dune base donnee"