Nettoyage automatique et organisation de fichier

jay33

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier de pieces détachées qui change toutes les 2 semaines.
Je voudrais l'importer mais surtout le netoyer avant.
Mais j'aimerais que ça soit automatisé par une formul car il y a 7000 pieces.

J'ai 3 collonnes : Famille, designation et code produit.

Est ce que vous connaissez une formule pour nettoyer la premiere collone, pour passer de :

/5000 SERIES/N5700 à N5700
/3000 SERIES/N3500 Classic à N3500 Classic
/N-Gage à N-Gage
/E-SERIES/E51-1 à E51-1

et ensuite dans la deuxieme collone, pour la designation, ajouter automatiquement, la famille de produit avant la designation :
N5700_LCD AM 128x160 COG Australia

en gros premiere collone, suprimer tous ce qu'il y a avant /
et une fois que c'est fait, ajouter le nom au debut de la designation : NXXXX_pieces...

Merci d'avance pour votre aide.

voila les deux fichiers exemple :
Celui de base :
Celui de voulu : ( les 6 premieres ligne )
 

smotty

XLDnaute Occasionnel
Re : Nettoyage automatique et organisation de fichier

Bonjour,

Voici une solution sous forme de macro.

Cordialement

smotty

Je me permets d'ajouter cette info au cas ou.

Il suffit d'aller dans Outils/macros et d'exécuter la macro...
 

Pièces jointes

  • fichierbase.xls
    31.5 KB · Affichages: 130
  • fichierbase.xls
    31.5 KB · Affichages: 150
  • fichierbase.xls
    31.5 KB · Affichages: 140
Dernière édition:

smotty

XLDnaute Occasionnel
Re : Nettoyage automatique et organisation de fichier

Bonjour Jay33

Il te suffit d'aller dans: Outils/macro/visual basic editor

Tu sélectionne tout le texte de la macro.

Puis copier.

Ensuite dans le fichier destinataire, idem, Outils/macro etc...

Si le fichier est sur la feuille1, alors tu double click sur feuil1 pour faire afficher la fenêtre de l'éditeur.

Et tu colle le texte dans la feuille concernée.

En espérant avoir été clair:(

Bon courage
 

kikouyou

XLDnaute Junior
Re : Nettoyage automatique et organisation de fichier

bonjour smotty et jay33, vous allez bien?

Je me suis permis de lire votre discussion car la fonction au sein de la macro me semble intéressante....

Je ne comprends pas ce que signifie exactement ces lignes de commande suivantes :

tabt = Split(cell.Value, "/")

Element = tabt(UBound(tabt))

cell.Value = Trim(Element)

cell.Offset(0, 1).Value = Element & "_" & cell.Offset(0, 1).Value

est il possible d'enlever uniquement des elements se trouvant avant le /? ou uniquement apres?



Cordialement
 

jay33

XLDnaute Nouveau
Re : Nettoyage automatique et organisation de fichier

j'ai essayé de comprendre le fichier de macro mais c'est vraiment du chinois.

est ce que tu pourrais le modifier pour que ça ajoute aussi sur la troisieme collone, devant des chiffres, la reference comme pour la designation ?

N7610_9912134 par exemple

merci
 

smotty

XLDnaute Occasionnel
Re : Nettoyage automatique et organisation de fichier

Re bonjour Jay33, bonjour Kikouyou,

Pour commencer, si j'ai bien compris ta demande, Jay33, voici le fichier avec la macro modifiée.

Kikouyou, je suis très heureux que ce code t'interpelle. En fait, j'utilise une fonction que je trouve géniale, "split(chaine,separateur)"
Celà permet de séparer toute chaine de caractère par le séparateur de notre choix. Dans ce code j'utilise le "/".
ça renvoie un tableau des éléments de la chaine.
Si on ne met rien comme séparateur, ça prend en compte les espaces. On peut ainsi utiliser cette fonction pour retourner un tableau de tous les mots d'une phrase.
La fonction inverse est: Join(tableau, "séparateur").

Une fois "splitée", on peut faire ce qu'on veut de chaque élément.

J'allais oublier: ubound(tableau), retourne le nombre d'éléments -1 du tableau.

En espérant que ces infos serviront,

Cordialement
 

Pièces jointes

  • fichierbase.xls
    37 KB · Affichages: 78
  • fichierbase.xls
    37 KB · Affichages: 96
  • fichierbase.xls
    37 KB · Affichages: 98
Dernière édition:

Statistiques des forums

Discussions
312 428
Messages
2 088 340
Membres
103 821
dernier inscrit
Lorient56