Mise à jour d'un fichier Excel par Code EAN

Bonjour à tous,

Je met en place un outil de gestion au sein de ma société. Il repose sur une extraction d'une base de données contenant plusieurs champs, ex: EAN, Désignation, Ventes du mois, Prix.

Je souhaite savoir s'il est possible de rajouter des données dans cette basse ultérieurement.

EX: La clé est le code EAN, il correspond à un seul article. Si le prix de l'article change, je souhaite pouvoir le mettre à jour en fusionnant deux fichiers qui possèdent la même clé: l'EAN, sans dupliquer les lignes ou les codes.

Merci de vos réponses.

Bonjour,

J'ai testé plusieurs manips, mai je n'ai rien trouvé... En fait, j'ai élaboré des matrices de calculs sur ma base produit, la clé étant un code unique, et je souhaite les mettre à jour avec les derniers chiffres de vente.

Pouvez vous me dire si, si je possède deux fichiers produits, avec des EAN, si excel peut rassembler ces données en un fichier en combinant les lignes grâce au code article?

Merci à tous pour vos réponses.

NB: Je dispose d'excel 2007

Bonjour ,

Oui , c'est certainement possible,

Il faudrait un petit fichier exemple avec 2 ou 3 code article maquillés et un autre fichier pour les mise à jour,

Ensuite une petite routine de recherche mise à jour et hop le tour est joué.

Merci de votre réponse.

Je regardes comment insérer des fichiers excel dans le Forum et je les joins.

Bonne journée,

Hugo

Bonjour,

Voilà, j'ai ajouté deux fichiers: un fichier de base, et un fichier que je souhaite fusionner avec le premier, en utilisant comme référence les codes EAN, qui sont uniques à chaque produit. Je souhaite trouver un méthode simple, car dans les faits, ma base comporte entre 20 000 et 28 000 lignes. J'ai testé des logiciels de bases de données, tels MySQL ou Base de chez OOO mais il ne m'ont rien apporté pour le moment....

Merci de votre aide!

Cordialement,

Hugo

63base.xlsx (10.27 Ko)
58fichier-ajout.xlsx (10.29 Ko)

Bonsoir,

Voici une première ébauche,

Pour essayer appuyer sur le bouton ajout fichier dans le fichier base.

Pour le moment le fichier à ajouter devra être dans le même dossier que le dossier du fichier base.

Le fichier à ajouter devra comporter le mot ajout dans son nom.

Sub MiseAJour()
Dim Chemin As String
Dim Ajout As String, Quoi As String
Dim LigneFin As Long
Dim Tourne As Long, Lieu As Long
Dim Bingo As Range

'Mémorise le chemin du fichier base
Chemin = ThisWorkbook.Path
'Cherche un fichier comportant ajout dans son nom
Ajout = Dir(Chemin & "\" & "*Ajout*", vbNormal)
'Si fichier trouvé alors
If Ajout <> "" Then
 'Ouverture du fichier ajout en lecture seul
  Workbooks.Open Filename:=Chemin & "\" & Ajout, ReadOnly:=True
  'Vérifie que l'entete de la colonne A s'appelle bien CODE EAN
   If Range("A1") = "CODE EAN" Then
   ' Détermine la dernière ligne du fichier à ajouter
     LigneFin = Range("A65536").End(xlUp).Row
    ' boucle de traitement de toutes les lignes
     For Tourne = 2 To LigneFin
      'Mémorise la clef code ean
       Quoi = Range("A" & Tourne)
        ' Recherche de la clef dans le fichier base
       Set Bingo = ThisWorkbook.Worksheets("Fichier base").Range("A:A").Find(Quoi, lookat:=xlWhole)
        ' Si le clef est trouvée dans base
        If Not Bingo Is Nothing Then
         ' mémorise la ligne où la clef à été trouvée
         Lieu = Bingo.Row
        Else
         ' Si pas trouvée alors cherche la première ligne disponible dans base
         Lieu = ThisWorkbook.Worksheets("Fichier base").Range("A65536").End(xlUp).Row + 1
       End If
       'Recopie de la ligne fichier ajout vers fichier base
       Range("A" & Tourne & ":F" & Tourne).Copy Destination:=ThisWorkbook.Worksheets("Fichier   base").Range("A" & Lieu & ":F" & Lieu)
       ' passe à la ligne suivante si pas fini
     Next Tourne
    Else
     'si l'entête est incorrecte pas de traitement et message d'alerte utilisateur
     MsgBox "L'entête de la colonne A de la feuille active du classeur ajout n'est pas conforme", vbCritical, "Alerte Application"
   End If
  'Fermeture du classeur ajout
  Workbooks(Ajout).Close False
 Else
  'Si fichier ajout pas trouvé alors message d'alerte 
  MsgBox "Fichier ajout non trouvé, veuillez déposez les fichiers à ajouter dans le même répertoire que ce fichier", vbCritical, "Alerte application"
End If
End Sub

un tri sera certainement intéressant en fin d'ajout.

l'ajout de plusieurs fichiers peut être aussi envisageable : Ajout 1 , ajout2 etc

Je préfére y aller par étapes pour une meilleure compréhension

Mister Bru no

79base.zip (12.37 Ko)

Bonjour,

Merci de votre réponse. J'ai trouvé une solution empirique à l'aide de la fonction "RechercheV".

Je souhaite traiter ce que vous me proposez, mais je n'ai pas trouvé le bouton "Ajout", de même, je ne sais pas ou copier le code...

Bonjour ,

Le bouton est dans l'onglet fichier base, cellule H2du fichier joint Base,

Ce code est déjà dans le fichier joint.

Rechercher des sujets similaires à "mise jour fichier code ean"