afficher un libellé à partie d'un code barre

  • Initiateur de la discussion julie
  • Date de début
J

julie

Guest
Bonjour,
J'ai un petit souci de formules qui me bloque depuis un moment. J'espere que quelqu'un saura m'aider.
Je vais essayer d'être explicite :

J'ai 2 tableaux :

TABLO1 de 2 colones totalement renseignées : code barre (formaté en spécial exemple 00001) et libéllé (formaté en nom)

TABLO2 de 3 colones : code barre - nombre d'article - libéllé.
pour info seul la colone libéllé est vide

je cherche une formule qui permettrait de comparer les codes barres presents dans tablo2 avec ceux présents dans TABLO1 ainsi si un codes barres est repéré , afficher son libéllé dans la colone libéllé du TABLO2.

J'espere que quelqu'un aura une lumière !
D'avance merci
Je joins le fichier si toutefois l'exposé de mon souci n'est pas clair
 
J

julie

Guest
je resteste d'inclure mon fichier (je viens seulement de lire le tuto, mille excuse) [file name=inventaire_20060328181551.zip size=2221]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/inventaire_20060328181551.zip[/file]
 

Pièces jointes

  • inventaire_20060328181551.zip
    2.2 KB · Affichages: 26

Creepy

XLDnaute Accro
Bonjour le Forum, Julie,

Voici une fonction que tu devras adapter mais qui fonctionne.
A la base elle compare les EAN présent dans la colonne A à ceux de la colonne B. S'il est identique alors elle les copie en colonne D & E et les surligne dans les colonnes A & B.

Cette fonction gère le fait d'avoir des EAN 12 dans une colonne et des EAN 13 dans l'autre par exemple.

Code:
Private Sub OK_Click()
'
'
Dim EAN12 As Range, EAN13 As Range, Cell As Range
Dim I As Integer, x As Integer, Combien As Integer

Combien = Len(Range('a2').Value)

Set EAN12 = Sheets(1).Range('A2:A' & Range('A65536').End(xlUp).Row)
Set EAN13 = Sheets(1).Range('B2:A' & Range('B65536').End(xlUp).Row)

x = 2

For Each Cell In EAN12
    For I = 1 To EAN13.Count
        If CStr(Cell) = CStr(Left(Cells(I, 2), Combien)) Then
            Cells(x, 4) = Cell: Cells(x, 5) = Cells(I, 2)
            Cell.Interior.ColorIndex = 6: Cells(I, 2).Interior.ColorIndex = 6
            x = x + 1
        End If
    Next I
Next Cell

End Sub

@+

Creepy
 

pierrejean

XLDnaute Barbatruc
bonsoir Julie

Salut Creepy

quelque chose qui ressemble beaucoup a ce qu'a fait Creepy et qui est peut-etre un peu plus facile à comprendre [file name=inventaire2006_20060328193913.zip size=40571]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/inventaire2006_20060328193913.zip[/file]
 

Pièces jointes

  • inventaire2006_20060328193913.zip
    39.6 KB · Affichages: 20
J

Julie

Guest
En fait j' essaye tant bien que mal de décoder celui de Creepy car il ressemble a ce que j 'ai besoin. Par contre je suis pas fortiche en code

Est ce que quelq'un serait d'accord pour verifier si j'ai déjà bien declaré mes variables.
(pour info je n'ai pas encore retouché la deuxieme partie du code de Creepy. j'avance doucement ! )
:)

Merci tout de même
 
J

julie

Guest
Re:afficher un libellé à partie d'un code barre - 28/03/2006 20:17 En fait j' essaye tant bien que mal de décoder celui de Creepy car il ressemble a ce que j 'ai besoin. Par contre je suis pas fortiche en code

Est ce que quelq'un serait d'accord pour verifier si j'ai déjà bien declaré mes variables.
(pour info je n'ai pas encore retouché la deuxieme partie du code de Creepy. j'avance doucement ! )


Merci tout de même [file name=inventaire_20060328201832.zip size=10533]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/inventaire_20060328201832.zip[/file]
 

Pièces jointes

  • inventaire_20060328201832.zip
    10.3 KB · Affichages: 19

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bopnjour Julie, Pirrejean, Creepy,

Julie je suis imcapable de t'aider au niveau macro (et tu as des spécialistes qui t'on répondu) mais juste au cas ou voila un exemple par formule qui met les libéllé dans la colonne G et qui ecrit en gras (par MFC) les ligne des colonnes A et B qui ne sont pas présentent dans les colonnes E et G.

Jocelyn [file name=inventaire_20060329090801.zip size=5615]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/inventaire_20060329090801.zip[/file]
 

Pièces jointes

  • inventaire_20060329090801.zip
    5.5 KB · Affichages: 16

pierrejean

XLDnaute Barbatruc
bonjour Julie

j'espere que Creepy ne m'en voudra pas !

vois ci-dessous

la macro test reprend la tienne et j'ai tenté de t'expliquer ce qu'elle fait

j'ai laissé tomber le surlignage (ce sera un exercice supplementaire)

pour plus d'information n'hesite pas à revenir [file name=inventairejulie.zip size=10799]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/inventairejulie.zip[/file]

salut Jocelyn
on a failli la collision !!!

Message édité par: pierrejean, à: 29/03/2006 09:11
 

Pièces jointes

  • inventairejulie.zip
    10.5 KB · Affichages: 23

Creepy

XLDnaute Accro
Re all,

Désolé mais en ce moment je n'ai pas beaucoup de temps mes réponses sont peut être un peu trop parachutés !!

Désolé !!

PierreJean je n'en te veux pas le moins du monde pas de souci ;)

Julie, ce dessous le même code que j'ai commenté pour que tu puisses mieux le comprendre. Un EAN c'est un code barre !

Code:
Dim EAN12 As Range, EAN13 As Range, Cell As Range
Dim I As Integer, x As Integer, Combien As Integer
'Déclaration des variables : Range = palge des données
' Integer = nombre entier entre 0 et 32000 je crois

Combien = Len(Range('a2').Value) ' Determine la longueur des EAN de la colonne A

Set EAN12 = Sheets(1).Range('A2:A' & Range('A65536').End(xlUp).Row)
' définit la plage de cellules remplies avec des code barre(EAN) de la colonne A
' de A2 à Axx
Set EAN13 = Sheets(1).Range('B2:A' & Range('B65536').End(xlUp).Row)
' Idem pour la colonne B

x = 2 ' Je crois que c'est clair

For Each Cell In EAN12 ' Pour chaque cellule avec un code barre dedans en colonne A
    For I = 1 To EAN13.Count ' regarde toutes les cellules de la colonne B
        If CStr(Cell) = CStr(Left(Cells(I, 2), Combien)) Then ' Si les deux sont identiques
            Cells(x, 4) = Cell: Cells(x, 5) = Cells(I, 2) ' Alors copie en colonne D & E des codes barres
            Cell.Interior.ColorIndex = 6: Cells(I, 2).Interior.ColorIndex = 6 ' surlignage en jaune des codes barres en A & B
            x = x + 1
        End If ' fin si
    Next I ' Prochaine Cellule dans la colonne B retour à If CStr(Cell)...
Next Cell ' Quand toutes les cellules de la colonne B ont été scannée, on change de cellule en colonne A
' retour à For I = 1 To EAN13.Count

Si tu n'y arrives pas poste moi un fichier je t'adapterais la macro pour me faire pardonner :)

@+

Creepy
 

Statistiques des forums

Discussions
312 615
Messages
2 090 244
Membres
104 465
dernier inscrit
Motuss