Windows.activate

Bonjour,

Je suis novice en VBA et je bloque sur un problème depuis quelques heures.

J'utilise la méthode windows.activate pour pouvoir naviguer entre différents classeurs ouverts :

Windows("opérations-12-06-2019 11_29.csv").Activate
    Range("A2:N2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy

Le problème est que la date dans le nom du fichier "opérations" change tout les mois, ce qui m'obligerait à renommer le nom de fichier pour qu'Excel reconnaisse le fichier en question.

Y-a-t-il une méthode pour qu'Excel ne tienne pas compte de la partie date dans le nom du fichier ?

Merci d'avance.

bonjour

je suppose que tu veux accéder aux données dans le fichier

alors, faire menu Données/Obtenir de classeur (qui veut dire en réalité "de répertoire")

c'est magique

ça ouvre et ça concatène les fichiers contenus dans le répertoire

aucune ligne de code

essaye

amitiés

Bonjour jmd,

Merci pour ta réponse mais, sauf si je n'ai pas tout compris de cette méthode, je ne crois pas que cela résout mon problème.

Je me suis peut-être mal expliqué.

Voilà mon code en entier :

Sub Macro13()

    Windows("opérations-12-06-2019 11_29.csv").Activate
    Range("A2:N2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Windows("Bilan Prévention ECGD Power-Bi 2019 - sauvegarde 16-05-2019.xltm"). _
        Activate
    Sheets("Etat FS 2019").Select
    Range("A4:N4").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Paste
    Windows("observations-13-06-2019 07_00.csv").Activate
    Range("A2:Y2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Bilan Prévention ECGD Power-Bi 2019 - sauvegarde 16-05-2019.xltm"). _
        Activate
    Sheets("Obs FS 2019").Select
    Range("F4:AD4").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Paste

End Sub

En gros, j'ai des données dans un tableau que je remplace par d'autres données venant de fichiers s'appelant "opérations XX XX XXXX" et "observations XX XX XXXX" et j'aimerais automatiser ça sauf que je ne sais pas à l'avance comment ces deux derniers fichiers s'appelleront mis à part qu'ils commencent par opérations et observations.

Merci d'avance.

J'ai réussi à faire fonctionner la macro avec cette méthode là :

MyFile = Dir("C:\Users\yhabie\Downloads\opérations-*.csv")
    If MyFile <> "" Then
    Workbooks(MyFile).Activate
    End If

Malheureusement, elle ne marche plus à partir du 2e fichier. J'ai un message d'erreur qui me dit "l'indice n'appartient pas à la sélection". J'ai essayé de changer le nom de la variable sans succès.

Rechercher des sujets similaires à "windows activate"