Pb de variable avec workbooks()

Fermé
cheval02 Messages postés 2 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 12 novembre 2008 - 8 oct. 2008 à 14:49
 toto - 8 oct. 2008 à 14:53
Bonjour,
J'ai une macro qui réalise le transfert de cellules d'une feuille excel utilisée en formulaire dans une base de données elle-même feuille excel d'un autre classeur .
données sources : classeur "Formulaires ENF_FAM.xls" feuille "FORM_SAEF"
base de données : classeur "BDD_ENF_FAM.xls" feuille "Base_ENF_FAM"

Voici un extrait du code
With Workbooks("BDD_ENF_FAM.xls").Sheets("Base_ENF_FAM")
.Cells(ligne, 1) = Workbooks("Formulaires ENF_FAM.xls").Sheets("FORM_SAEF").[G1]
Cells(ligne, 2) = Workbooks("Formulaires ENF_FAM.xls").Sheets("FORM_SAEF").[G2]
End With
où ligne est une variable numérique qui gère la position de départ .
Ceci marche très bien !
Mon souci est d'utiliser une variable avec workbooks pour faire varier le nom du fichier .
J'ai fait un test comme suit :j'ai déclaré une variable nomfichier as string (dans les déclarations) et lui ai donné la valeur nécessaire dans le module
nomfichier = Chr(34) & "Formulaires ENF_FAM.xls" & Chr(34) de manière à avoir le nom avec les guillemets .
puis :
With Workbooks("BDD_ENF_FAM.xls").Sheets("Base_ENF_FAM")
Cells(ligne, 1) = Workbooks(nomfichier).ActiveSheet.[G2]
EndWith
et là j'ai toujours une erreur "erreur d'exécution N°9 , l'indice n'appartient pas à la sélection ". En fait il ne trouve pas apparemment de fichier correspondant à nomfichier.

J'ai essayé en déclarant nomfichier as workbook ou en enlevant les guillemets ; tjs pareil.
Question? Où est le bug ?
Merci de votre éclairage
cheval02

1 réponse

Bonjour

nomfichier = Chr(34) & "Formulaires ENF_FAM.xls" & Chr(34) de manière à avoir le nom avec les guillemets . Justement, il ne faut pas de guillemets dans le nom du fichier...
0