Gaille60
Nouveau membre
Bonjour,
Après de multiples recherches infructueuses, je me décide à vous posez ma question.
Je précise que je suis un débutant complet et qu'il est bien possible que la solution saute directement aux yeux des experts.
Voici mon souci.
J'essaie de créer une macro afin de convertir en automatique des fichiers commandes clients afin de pouvoir par la suite les injecter directement dans un WMS.
Concernant la conversion du fichier, je souhaite, que l'utilisateur n'est qu'a sélectionner le fichier source et enregistrer le fichier final.
J'arrive très (plutôt) bien a ouvrir le fichier et a créer le nouveau, mais j'ai plusieurs formules, et a chaque mise a jour des formules, excel me demande de réouvrir le fichier initial ( qui à un nom différent a chaque fois ). Je pense qu'il manque quelque chose avant ou après les lignes ou j'ai mes formules mais je ne trouve absolument rien pour m'aider
Ci-dessous le code que j'utilise. D'avance merci pour vos retours.
Après de multiples recherches infructueuses, je me décide à vous posez ma question.
Je précise que je suis un débutant complet et qu'il est bien possible que la solution saute directement aux yeux des experts.
Voici mon souci.
J'essaie de créer une macro afin de convertir en automatique des fichiers commandes clients afin de pouvoir par la suite les injecter directement dans un WMS.
Concernant la conversion du fichier, je souhaite, que l'utilisateur n'est qu'a sélectionner le fichier source et enregistrer le fichier final.
J'arrive très (plutôt) bien a ouvrir le fichier et a créer le nouveau, mais j'ai plusieurs formules, et a chaque mise a jour des formules, excel me demande de réouvrir le fichier initial ( qui à un nom différent a chaque fois ). Je pense qu'il manque quelque chose avant ou après les lignes ou j'ai mes formules mais je ne trouve absolument rien pour m'aider
Ci-dessous le code que j'utilise. D'avance merci pour vos retours.
Code:
Private Sub parcourir_Click()
'ajouter nouveau classeur
Workbooks.Add
'ouvrir la boite de dialogue
With Application.FileDialog(msoFileDialogOpen)
'arriver à la racine voulue
.InitialFileName = "C:\Users\gnotta\Desktop\DOC travail\JHAG\"
'autoriser multi selection
.AllowMultiSelect = False
.Show
strFileName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
Workbooks.Open strFileName
Dim Nom As Workbook
conversion_fichier.Hide
End With
ActiveSheet.UsedRange.Select
ActiveWindow.SmallScroll Down:=9
Range("A14:E503").Select
Selection.Copy
Windows("Classeur1").Activate
'copier uniquement les valeurs
Range("E1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'suppression des colonnes
Columns("G:H").Select
Selection.Delete Shift:=xlToLeft
'début des formules
Range("A1").Select
ActiveCell.FormulaR1C1 = "=IF(RC[4]>0,'[Workbook]BDC'!R2C[1],"""")"
Range("B1").Select
ActiveCell.FormulaR1C1 = "=IF(RC[3]>0,'[Workbook]BDC'!R5C,"""")"
Range("C1").Select
ActiveCell.FormulaR1C1 = "=IF(RC[2]>0,""FM"","""")"
Range("D1").Select
ActiveCell.FormulaR1C1 = "=IF(RC[1]>0,""FM"","""")"
'etirer les formules
Range("A1: D1").Select
Selection.AutoFill Destination:=Range("A1: D490"), Type:=xlFillDefault
Range("A1: D490").Select
Range("A1").Select
End Sub