Ouverture d'un fichier dont le nom varie

Bonjour à tous,

Je cherche à réaliser une macro qui me permettrait d'ouvrir un fichier dont le nom varie en fonction de l'utilisateur.

L'idée serait de demander d'entrer un identifiant (initiales) dans une cellule -la cellule A3 en l’occurrence- par ex: MW

En fonction de cet identifiant je voudrais que la macro ouvre le fichier "C:\BUREAU\BASE_DE_DONNEE\donn_KW.xls". Si l'utilisateur est SP la macro ouvrirait le fichier "C:\BUREAU\BASE_DE_DONNEE\donn_SP.xls"

Je précise que je n'y connait rien en "langage macro" je m'y met seulement...

Je vous remercie d'avance pour vos réponses.

Julien

Bonjour Julien,

Il existe plusieurs possibilités ...

Pour appliquer la solution que tu préconises ... il faut que tu sois sûr et certain que le couple d'initiales ... soit unique ...

Est-ce le cas ...?

Bonjour James007, merci pour ta réponse

Je ne suis pas sur de te suivre...

Il s'agit d'initiales attribuées à chaque membre de la boite où je travaille, le fichier que je veux aller chercher correspond d'office à ces initiales. Je ne sais pas si c'est ça que tu voulais savoir?

Edit : il n'y a pas deux employés avec les même initiales si c'est le cas, on ajoute la deuxième lettre de leur prénom (MAD par exemple).

Je suppose que c'est ce que tu voulais savoir..

Bonsoir Julien, bonsoir le forum,

Essaie avec la macro événementielle Change ci-dessous, à placer* dans l'onglet concerné :

Private Const CH As String = "C:\BUREAU\BASE_DE_DONNEE\"
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$A$3" Then Exit Sub
Select Case Target.Value
    Case "MW"
        Workbooks.Open (CH & "donn_KW.xls")
    Case "SP"
        Workbooks.Open (CH & "donn_SP.xls")
End Select
End Sub

*

• Copie le code

• Clic du bouton droit dans l'onglet concerné (en bas)

• Option Visualiser le code

• Coller le code copié

• la macro s'exécute automatiquement à chaque changement dans la cellule A3 de l'onglet


Bonsoir le fil, bonsoir le forum,

Si chaque personne a son propre fichier et que celui-ci est toujours donn_ + ses initiales (dans ce cas ton exemple n'était pas très malin avec MW et KW...) on pourrait faire :

Private Const CH As String = "C:\BUREAU\BASE_DE_DONNEE\"
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$A$3" Then Exit Sub
On Error Resume Next
Workbooks.Open (CH & "donn_" & Target.Value & ".xls")
End Sub

Bonjour Thauthème,

Merci pour ta réponse, j'ai tenté de coller ton code mais j'ai le message d'erreur suivant : "Attribut incorrect dans une procédure Sub ou Fonction".

En quoi était-ce un mauvais exemple? Encore une fois je n'y connais pas grand chose en macro...

Merci d'avance!

Julien

Bonjour,

Thauthème t'a préparé une macro évènementielle ...

Cette macro doit être stockée dans le module de la feuille ...

En pointant ta souris sur le nom de l'onglet (de la feuille concernée..)

faire un clic droit ... et choisir dans le sous-menu qui apparait de voir le code ...

Le code doit être recopié dans la fenêtre qui s'ouvre ...

C'est bien ce que j'ai fait mais ça ne fonctionne pas.

J'ai fait quelques manip excel pour obtenir dans une cellule (AE2) le nom du fichier à ouvrir en fonction des initiales. Il ne reste donc plus qu'à ouvrir le fichier. Ici j'aimerais que le fichier s'ouvre sur demande. J'ai donc mis un bouton il me faut juste la macro à relier.

J'ai bricolé ça mais ça ne fonctionne pas. Le nom du fichier ne s'insère pas correctement dans l'adresse du fichier. Il me renvoie le message d'erreur impossible de trouver le fichier "C:\PLANPARA\DONNPARA\.xlsx".

Private Sub ouverture_fichier()

Dim nom_fichier As String

nom_fichier = AE2

Workbooks.Open ("C:PLANPARA\DONNPARA\" & nom_fichier)

End Sub

Sub MAJ()

If Range("A3") = "" Then

MESSAGE_ERREUR

Else

ouverture_fichier

End If

Range("a3").Select

End Sub

Re,

Je vais t'avouer que debugger à distance ... sans le fichier ... revient ... à faire de la voyance ...

Merci de joindre ton fichier avec ton prochain message ...

Comment puis-je joindre le fichier en question? Tu parles du fichier excel ou simplement du code?

Re,

Je parle du fichier Excel ....

Pour joindre un fichier ... la video youtube ...

EbNYLzTz5wM

Bonjour,

Je vais faire le ch**** mais j'aimerais autant éviter de publier ce fichier sur le net. Il n'existe pas un moyen de poster uniquement la partie code? Merci d'avance

Julien

Bonjour,

Il faut bien sûr anonymiser tes données ... en faisant une copie de ton fichier ... car, seule la structure importe ...

Doublon

Bonjour le fil, bonjour le forum,

Oui ça fait ch... ! C'est quand même pas si compliqué que ça de partir d'un fichier vierge reprenant la même structure que l'original (nom des onglets, plages nommées, formules et code) d'y mettre une poignée de données anonymes juste pour qu'on puisse faire tourner le code et de mettre cet exemple en pièce jointe. On s'en fout nous de tes données mais si tu veux de l'aide faudrait quand même faire un effort ! On va pas tout faire à ta place quand même !

Thauthème,

Je te fais chier? Passe ton chemin. Si tu n'as pas le temps d'expliquer les choses je ne vois pas vraiment ce que tu fais sur ce forum.

J'ai bien précisé que je ne suis pas un expert en excel, d'où ma présence ici. Et étant donné que je débarque aussi sur excel-pratique, je ne suis pas très au fait des manips de base dans les post etc.

Je ne demande pas qu'on fasse quoi que ce soit à ma place, mais je ne peux pas tout sucer de mon pouce non plus.

En bref si tu estimes que je ne mérite pas de partager ton savoir, inutile de venir m'incendier ici, contente toi de passer ton chemin...

Bonjour à tous,

Julien169,

Une image est toujours plus parlante qu'un texte, je vais pas sortir l'exemple du Service Après-Vente par téléphone, je pense que tu vois le genre. Là en gros c'est : - bonjour mon téléphone ne marche plus.

  • Ok je vais regarder ce qui ne va pas.
  • NOOOON J'AI DES PHOTOS DE CHATONS !!!
  • Ba euh d'accord mais je répare comment ?
  • VOUS VOUS DEBROUILLEZ MAIS VOUS NE VOUS APPROCHEZ PAS DE MON TELEPHONE !!!! (Oui, j'ai des exemples euh ... inspirés?)

ThauThème est quelqu'un d'impliqué sur le forum, il voulait juste te faire remarquer que sans fichier on ne peut donner que des idées. On ne te demande pas le fichier d'origine mais un exemple qui y ressemble : la structure.

Tu remplaces les noms "Secrets Défense" par du fictif et tu retires toutes les informations à risque.

Bonjour le fil, bonjour le forum,

Pas le temps d'expliquer ? Dans le post Nº 3 j'ai pris le temps de t'expliquer en détail comment faire pour coller le code parce que j'avais bien lu justement que tu étais débutant. Et là je t'ai juste un peu secoué pour que tu te bouges un peu.

Ha les feignasses ! Bizarrement pour écrire des co...ries elles ont le temps... T'as raison je passe mon chemin ! Bonjour les modos...

p.s. Bonjour Timothe et merci pour le soutien...

Bonjour Timothe,

Pour reprendre ton image, de mon point de vue ça ressemblait plutôt à ça :

  • Mon téléphone ne marche plus.
  • Quel est le numéro de série?
  • Où puis-je le trouver?
  • Dans ton c***! T'as pas envie de te bouger et de le chercher?

Je ne remet pas en cause son implication dans le forum et il est probablement très calé en excel. Ça ne lui donne pas le droit de me parler comme à un enfant de 4 ans...

Pour en revenir à quelque chose de plus constructif, j'ai joint mon fichier. La macro excel qui ne fonctionne pas est attribuée au bouton dans la cellule A1.

Je remercie d'avance toute personne qui voudra bien m'aider.

Julien

Rechercher des sujets similaires à "ouverture fichier nom varie"