VB

  • Initiateur de la discussion Rémi
  • Date de début
R

Rémi

Guest
Bonjour,

J'essaie d'écrire une macro pour updater mes fichiers automatiquement à partir d'autres fichiers que je reçois. Ce que je tente de faire, c'est de demander à Excel qu'il recherche un mot dans la première colonne (jusque là, rien de difficile). Le problème, c'est que le nom du fichier dans lequel je vais aller cherhcer mon information change à tous les mois.
Est-ce qu'il y a un moyen pour faire en sorte que la macro soit capable d'aller lire une cellule du fichier qui renverrait au bon nom de fichier à ouvrir?

Voici ce que j'ai fait jusqu'à maintenant:

Sub Test()

Dim d As Variant
Dim i As Integer
Dim v1 As Integer
Dim v As Variant

d = "Name"
v1 = 0

NOM_DE_FICHIER.Activate

For i = 1 To 10000
v = Cells(i, 1)
If v = d Then
v1 = i
Exit For
End If
Next i
If v1 = 0 Then
MsgBox "Erreur : Date introuvable"
Exit Sub
End If
Cells(v1, 1).Select


Je cherche donc le mot Name dans ma première colonne. Je ne sais simplement pas quoi mettre à la place de NOM_DE_FICHIER. Ce dernier fichier sera ouvert lorsque ma macro sera éxécutée. Je me demande s'il est possible de faire quelque chose comme:

Cells(1,1).activate où le contenu de la cellule (1,1) serait le nom du fichier que je pourrais taper moi-même et ainsi ne pas avoir à modifier ma macro à chaque éxécution.

Merci.

Rémi
 
J

jmh

Guest
Salut Rémi

Essai d'ajouter ce code à la place de NOM_DE_FICHIER.Activate


Worksheets(1).Activate 'Feuille oû tu tapes le nom de ton fichier
fichier = Range("a1").Value
Workbooks.Open Filename:=fichier & ".xls"
 
B

Bernard

Guest
Bonsoir Rémi et Jmh

Si les noms des fichiers mensuels ne varie que du numéro du mois cela sera est très facile !

Si les fichiers change du tout au tout, il te faudra éffectivement passer par la voie de la modification du nom du fichier dans une cellule.

Par exemple la cellule A1 contient le chemin et le nom du fichier modifié :

C:\Documents and Settings\Bernard\Mes documents\Janvier.xls

Une macro peut ainsi ouvrir le fichier :

Sub OuvrirFichier()
Dim Nom
Nom = Sheets("Feuil1").Range("A1")
Workbooks.Open Filename:=Nom
End Sub

Cordialement

Bernard
 

Discussions similaires

Statistiques des forums

Discussions
312 655
Messages
2 090 571
Membres
104 579
dernier inscrit
christelleduport@hotmail.