Ranger / trier spécifiquement des données sur excel (VBA)

inforide

XLDnaute Nouveau
Bonjour à tous,
J’ai un programme Excel 2007 qui me permet de récupérer (dans la colonne A) des codes barres venant de 6 lecteurs de code barres implantés à différents endroits sur une ligne de production.
Les différents codes barres sont ensuite triés (grâce à une fonction) par colonne grâce à un préfixe qui est programmé dans chaque scanners (ex: Scan1_code barre = scanner n°1 / Pour information, mon code barre comportera 16 chiffres).

J'aimerais savoir maintenant comment faire pour trier mes codes barres par ligne, c'est à dire que je retrouve bien le même code barres dans chaque colonnes sur la même ligne.
Je vous joins un fichier explicatif de mon tableau.
Merci de votre Aide.
 

Pièces jointes

  • scanner_fichier_explicatif(1).xlsx
    18.5 KB · Affichages: 78

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonsoir

Est-ce que tes codes scannes ressemblent vraiment à ton exemple, ou est-ce qu'il sont plutot du style SCAN_1 122458, puis SCAN_1 122554, puis... ?

@ plus
 

inforide

XLDnaute Nouveau
Re : Ranger / trier spécifiquement des données sur excel (VBA)

bonsoir,
non mes scannes ne sont pas comme dans l'exemple il seront composé de Scan1_ puis suivi de 16 chiffres (digits)
pour des exemples :
Scan1_0123654887986541; Scan1_2525368965475896 ; Scan1_3562598745879856....
Scan2_0123654887986541; Scan2_2525368965475896 ; Scan2_3562598745879856....
Scan3_0123654887986541; Scan3_2525368965475896 ; Scan3_3562598745879856....
....
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonjour

Est-ce que le chiffre après le tiret bas _ correspond à une suite régulière ou répétitive, comme sur ton exemple : 0, 1 puis 3, aussi bien pour Scan1 que pour Scan2 que pour Scan3 ? Si oui, qu'as tu après ces 3 valeurs ?

@ plus
 

inforide

XLDnaute Nouveau
Re : Ranger / trier spécifiquement des données sur excel (VBA)

bonjour,
les 2 chiffres après le tiret bas_ ne pourront être que 10, 11, 12, 13, 14, 15 mais plusieurs codes barres commenceront par ces chiffres, c'est à dire qu'il peut y avoir 150 codes barres qui peut commencé par 10 et 200 par 11, ....etc
Mais par contre comme dans mon excel on retrouve bien les même codes barres sur la même lignes mais avec des préfixes différent notamment Scan1_ , Scan2_ ....(ces préfixes représentent le nom des scanner Scan1_= scanners n°1 sur la lignes de prod , Scan2_ = Scanner n°2 ....)
je joint un fichier explcatif de tous sa
merci
 

Pièces jointes

  • scanner tracabilité 2.xlsx
    17.8 KB · Affichages: 59

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonjour

Je ne suis pas sûr d'avoir tout compris :
* Est-ce qu'il y a forcément toujours trois relevés par Scan, ce qui te donnerait :
Scan1_
Scan1_
Scan1_
Scan2_
Scan2_
Scan2_
Scan3_ et ainsi de suite.

Si oui, est-ce que les nombres aa se répètent, ce qui te donnerait par exemple
Scan1_10.......
Scan1_12.......
Scan1_13.......
Scan2_10.......
Scan2_12.......
Scan2_13.......
Scan3_10 et ainsi de suite.

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonjour

Le début du travail en pièce jointe, avec deux colonnes intermédiaires, B, avec une formule, et C, vide. Si cela convient par rapport à ton fichier réel, on verra pour modifier les colonne SCAN2 et SCAN3 (Pour le moment, c'est la même formule partout. Si on met autre chose en colonne SCAN2 ou SCAN3, ça bugue).

Si cela ne convient pas, précise ton besoin.

Si ton fichier est très long, je pense qu'il faudra passer par une macro, ce que je ne sais faire.
@ plus
 

Pièces jointes

  • scanner_fichier ter.xlsx
    21 KB · Affichages: 59

inforide

XLDnaute Nouveau
Re : Ranger / trier spécifiquement des données sur excel (VBA)

bonjour,

J'ai vu que tu as trié les données des scan par ordre croissant, ceci me convient bien sur la colonne SCAN1_. Mais le but serait de prendre le code barre dans la colonne SCAN, et de chercher si c'est SCAN1_ et le placé dans la colonne SCAN1_, puis ensuite rechercher la partie droite du code barre (les chiffres,ex122222) et de la placé dans la ligne correspondante, c'est à dire si j'ai SCAN1_100001 dans la colonne SCAN1_, alors dans la colonne SCAN2_, le code barre SCAN2_100001.

Je sais pas si c'est plus clair mais merci de votre aide importante.

Cordialement
 

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonsoir

J'ai l'impression que mon fichier obtient ce que tu veux, pas en utilisant la méthode que tu proposes, mais bon...

En suivant ton raisonnement, si tu as SCAN2_100008 et pas de SCAN1_100008, que faut-il faire ?

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonsoir

Et comme ça, est-ce que c'est bon ? Et c'est tellement plus simple, même avec des formules !

@ plus
 

Pièces jointes

  • scanner_fichier quatre.xlsx
    21.8 KB · Affichages: 50
  • scanner_fichier cinq.xlsx
    22.1 KB · Affichages: 56
  • scanner_fichier cinq.xlsx
    22.1 KB · Affichages: 57
  • scanner_fichier cinq.xlsx
    22.1 KB · Affichages: 55
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonsoir @ tous,
Salut CISCO :p
@ inforide :
Je voie que tu as supprimé les dates et heures du SCAN, si tu en auras encore besoin il faut les mettre sur le fichier pour que CISCO les prends en compte afin de te bien faire le fichier.
Bonne Soirée
 

inforide

XLDnaute Nouveau
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonsoir

Et comme ça, est-ce que c'est bon ? Et c'est tellement plus simple, même avec des formules !

@ plus

Merci CISCO cela fonctionne comme nous le voulons , juste un petit détails il y aura 16 chiffres après le SCAN1_****************.
La colonne SCAN se remplie au fur et à mesure avec les lecteurs codes barres, j'aimerais avoir dans la colonne SCAN2_ et SCAN3_ l'heure de lecture du code barre (ce qui revient à l'heure d'apparition dans la colonne).

Je te remercie vivement pour ton aide,

Cordialement
 

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonsoir

Malheureusement, excel ne prend en compte avec précision que 15 chiffres, autrement dit, les nombres comportant 16 chiffres sont arrondis... 2525368965475896 est transformé en 2525368965475890. Grrrrrr. Il faut donc adapter la méthode proposée... où en adopter une autre. Je cherche.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Bonsoir

J'ai l'impression que cela fonctionne comme cela, en remplaçant les 16 derniers chiffres par des lettres, et en classant ensuite les noms correspondants.

A toi de préciser ce que tu veux au niveau des dates pour SCAN2 et SCAN3.

@ plus
 

Pièces jointes

  • scanner_fichier cinq.xlsx
    23.7 KB · Affichages: 53
  • scanner_fichier cinq.xlsx
    23.7 KB · Affichages: 66
  • scanner_fichier cinq.xlsx
    23.7 KB · Affichages: 75
Dernière édition:

inforide

XLDnaute Nouveau
Re : Ranger / trier spécifiquement des données sur excel (VBA)

Merci ça fonctionne, dans les colonnes SCAN2_ et SCAN3_ je souhaiterai avoir le même format que tu as mis (date, horaires) qui me donne la date et l'heure d'apparition du codes barres (correspondant à l'heure de scanne).
Avant je l'affichait grâce a la fonction Maintenant() mais cela ne fonctionnait pas, car la fonction se met a jour automatiquement et du coup tout les horaires était identiques.
Merci
 

Discussions similaires

Réponses
3
Affichages
443
Réponses
6
Affichages
379

Statistiques des forums

Discussions
312 088
Messages
2 085 201
Membres
102 816
dernier inscrit
bolivier