XL 2019 Importation de données

Praveena

XLDnaute Nouveau
Bonjour,

Avant de vous poser ma question je vais expliquer le contexte.
On utilise un logiciel ERP où on importe sous format Excel un tableau avec tout un tas de donnée. Ce dossier sort du bureau d'étude donc dan mon service nous ne pouvons pas toucher à ce tableau en format Excel et ils ne sont pas lié au logiciel. Donc, chaque fois que j'importe les données, ça me crée un nouveau ficher Excel.

Dans un de ses fichiers Excel, j'ai rajouté une colonne où on peut rentré la quantité d'article qu'on veut et ça calcul dans un autre colonne le prix. J'ai aussi mis une case figé pour le prix total et un bouton de remise à zéro pour la colonne quantité.

Donc ce que je voudrais savoir, sachant que ne peut pas importé les données du logiciel ERP directement dans le même fichier Excel, est- ce qu'il y a moyen de faire une importation de donnée quand un nouveau fichier Excel vers le fichier où j'ai rajouté les fonctions ( quantité, prix, bouton, prix total)? ( Tout en gardant la même organisation, donc, les mêmes informations à la même colonne de base...etc?)

Merci de votre attention.
 
Solution
Re,

Voila ton fichier matrice, j'ai intégré un tableau structuré.
Tu cliques sur le bouton import pour choisir un fichier et importer un stock.
J'ai aussi refait ta macro de remise à zéro et remis le raccourci noté dans le code, le code d'importation est documenté.

Bien cordialement, @+
VB:
Sub Import_Stock()
    Dim Tab_Stock, Classeur_Export As Workbook, Nom_Fichier$ 'déclaration des variables
    Application.ScreenUpdating = False 'désactivation de l'affichage
    Nom_Fichier = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.Xls),*.Xls", Title:="Sélectionnez le fichier stock à traiter") 'affiche la boite d'ouverture
    If Dir(Nom_Fichier) = "" Then MsgBox "Importation abandonnée", vbOKOnly + vbInformation: Exit Sub...

Praveena

XLDnaute Nouveau
Bonjour Praveena, le forum

On peut le faire par macro ou même par formule, mais sans fichier exemple ça va être très compliqué...

Cordialement, @+
Bonjour,

merci de votre réponse, voici les deux fichiers.
Du coup, est - ce possible d'intégrer par le même moyens un fichier excel à un autre?
 

Pièces jointes

  • POINT STOCKS 07 04 2021.xls
    562.5 KB · Affichages: 12
  • STOCKS 09 04 2021.xls
    550.5 KB · Affichages: 5
pourquoi deux fichiers, tu veux fusionner les deux fichiers ?
à quoi correspondent ces deux fichiers ? ils sont modifiés de façon identique pour moi
quel est le fichier final ? tu n'as pas un fichier brut d'import ?
ce sont des fichiers xls certainement directement générés en xls par l'appli, tu as quelle version d'Excel ? sur le fil c'est marqué 2019.
 

Praveena

XLDnaute Nouveau
J'ai la version Microsoft office proffesionnel plus 2019.
Oui, les données qu'il y a dans le premier fichiers correspondent au stock d'un jours et du deuxième fichier d'un autre jours.
le but c'est qu'au lieu que je copie - colle les trois dernière colonne ( quantité - prix - prix total/ soit colonne R à V) et le bouton à chaque fois, c'est de remplacer les données par importation de données en ouvrant le deuxième fichier. ( de la colonne A à Q).
 
Dernière édition:
Re,

Voila ton fichier matrice, j'ai intégré un tableau structuré.
Tu cliques sur le bouton import pour choisir un fichier et importer un stock.
J'ai aussi refait ta macro de remise à zéro et remis le raccourci noté dans le code, le code d'importation est documenté.

Bien cordialement, @+
VB:
Sub Import_Stock()
    Dim Tab_Stock, Classeur_Export As Workbook, Nom_Fichier$ 'déclaration des variables
    Application.ScreenUpdating = False 'désactivation de l'affichage
    Nom_Fichier = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.Xls),*.Xls", Title:="Sélectionnez le fichier stock à traiter") 'affiche la boite d'ouverture
    If Dir(Nom_Fichier) = "" Then MsgBox "Importation abandonnée", vbOKOnly + vbInformation: Exit Sub 'teste l'existence du fichier, si annulation sortie
    Set Classeur_Export = Workbooks.Open(Filename:=Nom_Fichier) 'ouvre et référence le classeur à importer
    With Classeur_Export.Sheets(1)
        Tab_Stock = .Range("A1:Q" & .Range("A" & .Rows.Count).End(xlUp).Row).Value 'importe les données dans un tableau
    End With
    Classeur_Export.Close False 'ferme le classeur importé
    Set Classeur_Export = Nothing 'libère l'objet
    With Feuil1 'avec feuil1
        On Error Resume Next 'si erreur va ligne suivante
        .Rows("2:" & .Range("A" & .Rows.Count).End(xlUp).Row).Delete Shift:=xlUp 'supprime les lignes actuelles
        On Error GoTo 0 'réactive la routine standard
        .ListObjects("Tableau1").Resize Range("$A$1:$S$2") 'redimensionne le tableau structuré
        .Range("A1:Q" & UBound(Tab_Stock, 1)).Value = Tab_Stock 'importe les données
        .Range("S2").FormulaR1C1 = "=RC[-1]*RC[-8]/CHOOSE(MATCH(RC[-7],{0;""C"";""M""},0),1,100,1000)" 'remet la formule en colonne S
        .[Tableau1[Quantité]] = 0 'remet des valeurs 0 en colonne R
    End With
    Application.ScreenUpdating = True 'réactive l'affichage
    MsgBox "importation terminée", vbOKOnly + vbInformation
End Sub
Sub zéro()
'
' zéro Macro
' remise à zéro
'
' Touche de raccourci du clavier: Ctrl+o
'
    [Tableau1[Quantité]] = 0
End Sub
 

Pièces jointes

  • Matrice POINT STOCKS.xlsm
    156.2 KB · Affichages: 8
Dernière édition:

Praveena

XLDnaute Nouveau
Bonjour,

Re,

Voila ton fichier matrice, j'ai intégré un tableau structuré.
Tu cliques sur le bouton import pour choisir un fichier et importer un stock.
J'ai aussi refait ta macro de remise à zéro et remis le raccourci noté dans le code, le code d'importation est documenté.

Bien cordialement, @+
VB:
Sub Import_Stock()
    Dim Tab_Stock, Classeur_Export As Workbook, Nom_Fichier$ 'déclaration des variables
    Application.ScreenUpdating = False 'désactivation de l'affichage
    Nom_Fichier = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.Xls),*.Xls", Title:="Sélectionnez le fichier stock à traiter") 'affiche la boite d'ouverture
    If Dir(Nom_Fichier) = "" Then MsgBox "Importation abandonnée", vbOKOnly + vbInformation: Exit Sub 'teste l'existence du fichier, si annulation sortie
    Set Classeur_Export = Workbooks.Open(Filename:=Nom_Fichier) 'ouvre et référence le classeur à importer
    With Classeur_Export.Sheets(1)
        Tab_Stock = .Range("A1:Q" & .Range("A" & .Rows.Count).End(xlUp).Row).Value 'importe les données dans un tableau
    End With
    Classeur_Export.Close False 'ferme le classeur importé
    Set Classeur_Export = Nothing 'libère l'objet
    With Feuil1 'avec feuil1
        On Error Resume Next 'si erreur va ligne suivante
        .Rows("2:" & .Range("A" & .Rows.Count).End(xlUp).Row).Delete Shift:=xlUp 'supprime les lignes actuelles
        On Error GoTo 0 'réactive la routine standard
        .ListObjects("Tableau1").Resize Range("$A$1:$S$2") 'redimensionne le tableau structuré
        .Range("A1:Q" & UBound(Tab_Stock, 1)).Value = Tab_Stock 'importe les données
        .Range("S2").FormulaR1C1 = "=RC[-1]*RC[-8]/CHOOSE(MATCH(RC[-7],{0;""C"";""M""},0),1,100,1000)" 'remet la formule en colonne S
        .[Tableau1[Quantité]] = 0 'remet des valeurs 0 en colonne R
    End With
    Application.ScreenUpdating = True 'réactive l'affichage
    MsgBox "importation terminée", vbOKOnly + vbInformation
End Sub
Sub zéro()
'
' zéro Macro
' remise à zéro
'
' Touche de raccourci du clavier: Ctrl+o
'
    [Tableau1[Quantité]] = 0
End Sub
merci beaucoup de votre aide!
( Je suis désolé de la réponse tardive, je n'ai pas reçu la notification comme quoi j'ai eu une réponse sur la discussion! )
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 913
Membres
101 837
dernier inscrit
Ugo