Macro Excel

Miky75019 Messages postés 3 Statut Membre -  
Gord21 Messages postés 928 Statut Membre -
Bonjour,

J'ai réalisé une macro dans laquelle je dois ouvrir un fichier pour y récupérer des données...

Seulement, pour une plus grand adaptabilité de la macro (dans la mesure ou elle sera utilisée sur des ordinateurs différents) j'ai voulu utilisé la variable globale TEMP dans l'emplacement du fichier.*
Seulement j'ai une erreur.

A priori il n'y a pas de conversion automatique comme dans l'explorateur.

Est ce que quelqu'un pourrait m'aider à régler le problème ?

Sheets("Incident").Select
Columns("L:L").Select
Selection.Copy
Sheets("Stockage").Select
Columns("B:B").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Incident").Select
ActiveWindow.LargeScroll ToRight:=-1
Columns("A:A").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Stockage").Select
Columns("A:A").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Incident").Select
Range("F2").Select
Sheets("Incident").Select
Workbooks.Open Filename:= _
"%TEMP%\Incident_Support.csv", Local:=True
Columns("A:K").Select
Range("K1").Activate
Application.CutCopyMode = False
Selection.Copy
Windows("Copie de automat.xls").Activate
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
Columns("A:K").Select
Range("K1").Activate
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range("F2").Select
Sheets("Synthèse Incident").Select
End Function
Configuration: Windows XP
Firefox 3.5.7

1 réponse

  1. Gord21 Messages postés 928 Statut Membre 289
     
    Bonsoir,
    Tu peux utiliser par exemple
    Workbooks.Open Filename:= Environ("TEMP") & "\Incident_Support.csv", Local:=True au lieu de
    Workbooks.Open Filename:= "%TEMP%\Incident_Support.csv", Local:=True

    Vérifie qu'il s'agit bien de la bonne variable avec par exemple MsgBox Environ("TEMP")

    Remarque : tu peux avantageusement remplacer :
    Columns("L:L").Select
    Selection.Copy


    par
    Columns("L:L").Copy
    0