lolo_excelbeginner
XLDnaute Nouveau
Bonjour à tous,
Je vais tenter d'exposer mon problème,
Je souhaite créer un fichier Excel, calculant la totalité de certains articles consommés dont les quantités sont disponibles dans des fichiers csv. (voir images)
Pour cela je cherche donc ouvrir 1 par 1 mes fichiers csv, et à tester chaque ligne pour trouver sa correspondance dans mon fichier final et incrémenter la quantité dans mon fichier final.
J'ai pour cela écrit 2 petites macro mais elles ne fonctionnent pas...
Sub Transfert(Fichier)
Dim MonFichier As Workbook 'Fichier dans lequel on importe les données
Set MonFichier = ThisWorkbook
With Workbooks(Fichier)
With .ActiveSheet
For i = 1 To 200
x = Application.Match(.Cells(i, 1), MonFichier.Range("A45:A806"), 0)
If IsError(x) Then
GoTo suite
Else: Debug.Print i, .Cells(i, 1), x
MonFichier.Cells(x, 5).Value = .Cells(i, 2).Value + MonFichier.Cells(x, 5).Value
suite:
.Close
End With
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Sub DQE()
Dim Fichier As Workbook 'déclare la variable Fichier (Fichier où on exporte les données)
Fichier = Application.GetOpenFilename(MultiSelect:=True)
If Fichier = "Faux" Then
Exit Sub
Else
Workbooks.Open (Fichier)
End If
var_nomfichier = Dir(Fichier) 'on recupere le nom du fichier à partir de son chemin comple
Do While Fichier <> "" 'boucle tant qu'il existe des fichiers F
Workbooks.Open (Fichier)
Transfert (Fichier)
Fichier = Dir 'classeur suivant
Loop 'boucle
MsgBox "Traitement terminé"
End Sub
Saurez-vous m'aider ??
Cordialement,
LOLO
Je vais tenter d'exposer mon problème,
Je souhaite créer un fichier Excel, calculant la totalité de certains articles consommés dont les quantités sont disponibles dans des fichiers csv. (voir images)
Pour cela je cherche donc ouvrir 1 par 1 mes fichiers csv, et à tester chaque ligne pour trouver sa correspondance dans mon fichier final et incrémenter la quantité dans mon fichier final.
J'ai pour cela écrit 2 petites macro mais elles ne fonctionnent pas...
Sub Transfert(Fichier)
Dim MonFichier As Workbook 'Fichier dans lequel on importe les données
Set MonFichier = ThisWorkbook
With Workbooks(Fichier)
With .ActiveSheet
For i = 1 To 200
x = Application.Match(.Cells(i, 1), MonFichier.Range("A45:A806"), 0)
If IsError(x) Then
GoTo suite
Else: Debug.Print i, .Cells(i, 1), x
MonFichier.Cells(x, 5).Value = .Cells(i, 2).Value + MonFichier.Cells(x, 5).Value
suite:
.Close
End With
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Sub DQE()
Dim Fichier As Workbook 'déclare la variable Fichier (Fichier où on exporte les données)
Fichier = Application.GetOpenFilename(MultiSelect:=True)
If Fichier = "Faux" Then
Exit Sub
Else
Workbooks.Open (Fichier)
End If
var_nomfichier = Dir(Fichier) 'on recupere le nom du fichier à partir de son chemin comple
Do While Fichier <> "" 'boucle tant qu'il existe des fichiers F
Workbooks.Open (Fichier)
Transfert (Fichier)
Fichier = Dir 'classeur suivant
Loop 'boucle
MsgBox "Traitement terminé"
End Sub
Saurez-vous m'aider ??
Cordialement,
LOLO
Pièces jointes
Dernière édition: