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

Gros probleme pour créer ce projet

Kero

XLDnaute Junior
Comment remplir la ligne du dessous si la condition est rempli?

Bonjour a tout le Forum

Voila je dois réaliser un projet assez complexe pour ma société sur Excel en plusieurs parties.
J’ai recherché pas mal d’aide sur le forum, des tutoriels sur les macros et le VBA mais je ne comprends pas.

Voici la plus grosse partie du projet

Je dois scanner avec une douchette des codes barres sur des produits différents, dans ces codes barre on doit pouvoir dissocier le numéro de lot et la référence mais le problème, les codes barre ne sont pas pareil et pour certain produit il faut scanner 2 code barre pour avoir ces numéros

Exemple pour un produit à 2 codes barre
1ér code barre : +H302CT50940- n° de réf est « CT5094 »
2ème Code barre : +$$90000150518107FM2705-S n° de lot est « 07FM2705 »

Exemple sur un autre produit à 1 code barre
Code barre : ZVS05060ANRG2792201007 n° de réf est « ZVS05060 » et le n° de lot est « ANRG2792 »

Autre exemple de produit à 2 codes barre
1er code barre : EX061001C n° de Réf est EX061001C
2eme code barre : 105844166317091100 n° de lot est « 58441663 »

Autre exemple de produit à 1 code barre
Code barre : 05052791EW040081 n° de réf « EW040081 » n° de lot « 05052791 »

Alors déjà, première question, est ce que cela vous semble possible a faire sur Excel ?

Serai ce plus facile si l’on met une interactivité avant chaque remplissage de ligne ? a savoir y a-t-il 1 ou 2 code barre à scanner ?

Merci d’avance de vos réponses

Kero
 
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Bonjour le forum,

Je reviens a la charge avec mon projet(qui prend forme).
Voila je suis arrivé a faire mes scan de code barre automatique et a les placer dans mon tableau selon la référence et le lot mais je bloque sur le remplissage des lignes. Je voudrais savoir comment faire pour remplir mes lignes du tableau automatiquement dès que les 2 colonnes de la ligne du dessus sont rempli.
 

Pièces jointes

  • gestion par code barre2.zip
    16.4 KB · Affichages: 25
  • gestion par code barre2.zip
    16.4 KB · Affichages: 23
  • gestion par code barre2.zip
    16.4 KB · Affichages: 24
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Gros probleme pour créer ce projet

Bonjour,

si j'ai bien compris, remplace le code du bouton "Scan automatique" par celui-ci:
Code:
Private Sub Btn_commencer_Click()
'Déclaration des variables
Dim X As String, Codebarre As String, lig_suiv As Long
'X = Worksheets("Feuil1").Range("E4")
X = InputBox("Entrez le code barre")
'Detection des codes barres
With Worksheets("Feuil1")
    lig_suiv = .Range("A65536").End(xlUp).Row + 1
    Select Case Len(X)
    Case 12
        Codebarre = X
        .Range("A" & lig_suiv) = Codebarre
    
    Case 14
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 7)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 13
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 6)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 15
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 8)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 16
        'If IsNumeric(X) = False Then
        .Range("B" & lig_suiv) = Left(X, 8)
        .Range("A" & lig_suiv) = Mid(X, 9, 8)
    
    Case 17
        If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 8, 8)
        .Range("B" & lig_suiv) = Codebarre
    
    Case 18
        If IsNumeric(X) = True Then Codebarre = Mid(X, 3, 8)
        .Range("B" & lig_suiv) = Codebarre
    
    Case 22
        'Codebarre = Left(X, 8) & " | " & Mid(X, 9, 8)
        .Range("A" & lig_suiv) = Left(X, 8)
        .Range("B" & lig_suiv) = Mid(X, 9, 8)
    
    Case 25
        If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 16, 8)
        .Range("B" & lig_suiv) = Codebarre
    
    End Select
End With
End Sub
 

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Bonjour Skoobi, re le forum

Merci pour ce code, je viens de le tester et il y a un petit souci.
Quand je scan un produit ou il y a un code barre regroupant la référence et le lot puis que j'en scan un autre sa passe mais quand je scan un produit ou il y a 1 code barre pour la reférence et 1 code barre pour le lot, il saute une ligne au lieu de l'inscrire a coté puis après je scan un produit ou le code barre regroupe les 2, cela remplace le lot au lieu d'ecrire en dessous.

Pour tester voici 2 codes barres
- Code barre regroupant la référence et le lot ZVS05060ANRG2792201007
- Code barre référence +H838V4006C01 code barre du lot +$$1207AFLM197010
(voir autre exemple dans la feuille mise a jour)
 

Pièces jointes

  • gestion par code barre2.zip
    17.9 KB · Affichages: 18
  • gestion par code barre2.zip
    17.9 KB · Affichages: 20
  • gestion par code barre2.zip
    17.9 KB · Affichages: 16
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Re le forum,
Bon je suis pas sure que ce sois très propre mais j'ai déclarer la variable "lig_suivb As Long" puis je l'ai remplacer quand il faut remplir la colonne B. Je vais tester et voir si c'est ok
 

Pièces jointes

  • gestion par code barre2.zip
    18.4 KB · Affichages: 21
  • gestion par code barre2.zip
    18.4 KB · Affichages: 18
  • gestion par code barre2.zip
    18.4 KB · Affichages: 19
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Re le forum,

Bon mes lignes se mettent correctement mais voila si je scan un produit ayant 2 code barre et que j'en loupe un, le prochain scan va etre décalé. Comment faire pour interdire le passage a la ligne si les 2 case précédente ne sont pas rempli?

Merci
Cordialement
 
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Bonjour a tous!!!

Mon projet arrive a son terme mais j'ai encore des difficultés et je commence a me mélangé les pinceaux.

Je réexplique le projet:
Phase 1 : je scanne des codes barres et je les mets dans mon tableau selon la référence et le lot [Résolu]

Phase 2 : Je récupère ces lots, je dois supprimer les doublons en additionnant les quantitées pour ensuite les comparer avec des lots et quantité récupérer d'un autre classeur fermé, le tout mis dans un tableau en feuil2. [Résolu a moitié]

Pour ce qui est de récupérer les lots et quantité du classeur fermé c'est a 99% bon, a chaque fois il ne me recupère pas les lots numériques et seulement la quantité. A tester avec les pièces jointes.

Pour ce qui est de la suppression des doublons + addition et enfin la comparaison, j'ai récupérer les procédures sur le forum, j'ai essayé de les modifiés selon mon projef mes rein ne fonctionne. Du coup je les ai commentées.

Merci d'avance de votre aide
Cordialement
 

Pièces jointes

  • feuille a comparer.zip
    29.7 KB · Affichages: 28
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Bonjour le forum

Un petit up du post, pour savoir si quelqu'un a une aide a me proposer car je suis vraiment bloqué.

Merci d'avance
 
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Re..
Bon après avoir encore chercher des aides sur le forum, j'ai pu résoudre une bonne partie des problèmes!!! (merci a vous) Mais et oui il y a un "mais"!!
Le projet est à 99,5% fini le seul hic qui me reste, c'est lorsque que j'utilise ADO pour recupérer des données dans un fichier fermé, il ne me rapatri pas les lots en numérique mais par contre il me rapatri les quantité . Donc voila ma dernière question sur ce sujet est... Comment faire pour rapatrier ces données numériques?

Merci

Cordialement
 
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Bonjour a tous!!!!

J'avance dans mon projet et ceci grace a votre aide!!!
Dernière question avant finalisation complète.
Voila skoobi m'avait donné une macro pour le passage automatique des cellules, mais je voudrai l'améliorer, mais je ne suis pas balèze dans les boucles et je me prend pas mal la tete.
Je voudrais savoir comment faire pour un passage automatique a la ligne que si A1, B1 et C1 sont remplis alors il peut remplir A2, B2 et C2.

Voici la macro que je souhaite améliorer

Code:
Sub Detec()
Dim X As String, Codebarre As String, lig_suiv As Long, lig_suivb As Long, lig_suivc As Long
X = InputBox("Entrez le code barre")

With Worksheets("Feuil1")
    lig_suiv = .Range("A65536").End(xlUp).Row + 1
    lig_suivb = .Range("B65536").End(xlUp).Row + 1
    lig_suivc = .Range("C65536").End(xlUp).Row + 1

    Select Case Len(X)
    Case 12
        Codebarre = X
        .Range("A" & lig_suiv) = Codebarre
    
    Case 14
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 7)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 13
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 6)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 15
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 8)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 16
        .Range("B" & lig_suivb) = Left(X, 8)
        .Range("A" & lig_suiv) = Mid(X, 9, 8)
        .Range("C" & lig_suivc) = 1
        
    Case 17
        If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 8, 8)
        .Range("B" & lig_suivb) = Codebarre
        .Range("C" & lig_suivc) = 1
        
    Case 18
        If IsNumeric(X) = True Then Codebarre = Mid(X, 3, 8)
        .Range("B" & lig_suivb) = Codebarre
        .Range("C" & lig_suivc) = 1
        
    Case 22
        .Range("A" & lig_suiv) = Left(X, 8)
        .Range("B" & lig_suivb) = Mid(X, 9, 8)
        .Range("C" & lig_suivc) = 1
        
    Case 25
        If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 16, 8)
        .Range("B" & lig_suivb) = Codebarre
        .Range("C" & lig_suivc) = 1
    End Select

End With

End Sub

Merci d'avance de votre aide
 
Dernière édition:

Kero

XLDnaute Junior
Comment remplir la ligne du dessous si la condition est rempli?

Re le forum !!

Quelqu'un a t'il une idée a ce probleme? Comment remplir la ligne du dessous si la condition est rempli?
Je retente de poser ma question en l'accompagnant d'un fichier Excel et un exemple de référence et de lot.

Encore merci d'avance
Cordialement Kero
 

Pièces jointes

  • exemplekero.xls
    42.5 KB · Affichages: 38
  • exemplekero.xls
    42.5 KB · Affichages: 38
  • exemplekero.xls
    42.5 KB · Affichages: 35
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Bonjour le forum

Je up mon sujet si par hasard quelqu'un pourrai m'aider sur ce souci ou meme me donner un lien vers un sujet du meme type ce serait sympas.

Merci d'avance
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Gros probleme pour créer ce projet

Bonjour Kero,

si j'ai bien compris test ceci (en bleu mon ajout):

Code:
Option Explicit

Sub Detec()
Dim X As String, Codebarre As String, lig_suiv As Long, lig_suivb As Long, lig_suivc As Long
X = InputBox("Entrez le code barre")

With Worksheets("Feuil1")
    lig_suiv = .Range("A65536").End(xlUp).Row + 1
    lig_suivb = .Range("B65536").End(xlUp).Row + 1
    lig_suivc = .Range("C65536").End(xlUp).Row + 1
[COLOR=Blue][B]    If Range("A" & lig_suiv - 1).Value = "" _
      Or Range("B" & lig_suiv - 1).Value = "" _
      Or Range("C" & lig_suiv - 1).Value = "" Then
      MsgBox "La référence, le lot et la quantité ne sont pas tous renseignés, validation stoppé.", vbCritical
      Exit Sub
    End If[/B][/COLOR]

    Select Case Len(X)
    Case 12
        Codebarre = X
        .Range("A" & lig_suiv) = Codebarre
    
    Case 14
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 7)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 13
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 6)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 15
        If Left(X, 2) = "+H" Then Codebarre = Mid(X, 6, 8)
        .Range("A" & lig_suiv) = Codebarre
    
    Case 16
        .Range("B" & lig_suivb) = Left(X, 8)
        .Range("A" & lig_suiv) = Mid(X, 9, 8)
        .Range("C" & lig_suivc) = 1
        
    Case 17
        If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 8, 8)
        .Range("B" & lig_suivb) = Codebarre
        .Range("C" & lig_suivc) = 1
        
    Case 18
        If IsNumeric(X) = True Then Codebarre = Mid(X, 3, 8)
        .Range("B" & lig_suivb) = Codebarre
        .Range("C" & lig_suivc) = 1
        
    Case 19
        If Left(X, 2) = 10 Then Codebarre = Mid(X, 3, 9)
        .Range("B" & lig_suivb) = Codebarre
        .Range("C" & lig_suivc) = 1
        
    Case 22
        .Range("A" & lig_suiv) = Left(X, 8)
        .Range("B" & lig_suivb) = Mid(X, 9, 8)
        .Range("C" & lig_suivc) = 1
        
    Case 25
        If Left(X, 3) = "+$$" Then Codebarre = Mid(X, 16, 8)
        .Range("B" & lig_suivb) = Codebarre
        .Range("C" & lig_suivc) = 1
    End Select

End With
End Sub
 

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

Bonjour le forum , Skoobi

Merci de ta réponse, je vais tester cela dans la journée et je vous tiens informé!!!
 
Dernière édition:

Kero

XLDnaute Junior
Re : Gros probleme pour créer ce projet

RE le forum

Encore merci Skoobi pour cette condition, je l'ai un peu modifié sachant que la cellule "C" est rempli automatiquement avec la cellule "B", ensuite le souci c'est que j'entre une donnée dans "A", il n'accepte plus rien ni en "A" ni en "B", par contre si je commence par "B", la je peux entrer autant de fois des données en "B" sans qu'il bloque. Je m'arrache les cheveux avec cette condition, je la modifie pour varié la condition mais rien a faire, j'ai essayé avec une boucle Do Until et j'ai bloqué excel(vu mon niveau en boucle). Donc je continu a creusé avec ces infos la. Si quelqu'un voit une solution?
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
592
Réponses
2
Affichages
802
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…