Pb de variable avec workbooks()
cheval02
Messages postés
2
Statut
Membre
-
toto -
toto -
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
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
A voir également:
- Pb de variable avec workbooks()
- Variable d'environnement temp - Forum Word
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Microsoft Office
- Microsoft 365 word message d'erreur envirionement Temp - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Variable objet ou bloc "with" non définie - Forum VB / VBA