XL 2010 Question Workbooks

  • Initiateur de la discussion Initiateur de la discussion Pozaec
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Pozaec

XLDnaute Nouveau
Bonjour,

Pour mon stage je dois gérer deux fichiers excel, c'est a dire prendre les valeur que j'ai eu avec un premier programme et les envoyées dans un autre fichier excel, mais je ne comprend pas comment fonctionne la gestion des classeurs,
Lorsque je déclare le classeur cible, je n'arrives plus a travailler sur le classeur de base ou je suis, il me sors une erreur comme si il ne le trouvais plus, "erreur 9, l'indice n'appartient pas a la sélection". j'ai casiment tout essayé toute la matinée mais il y a un truc que je dois louper et ça commence à me rendre zinzin

voici l'extrait du code qui pose problème, le classeur de base contient la feuille consommation où sont les valeurs à envoyer sur l'autre classeur:
Sub copie_valeurs()

Set classeur = ActiveWorkbook
'Set classeur = Workbooks("C:\Users\lhelblin\Documents\Stage\Fichiers excel\Alpha.v1.xlsm")
Set classeur1 = Workbooks.Open("C:\Users\lhelblin\Documents\Stage\Fichiers excel\Matières productions plafonds 2016cop.xlsx")

' classeur1 = "C:\Users\lhelblin\Documents\Stage\Fichiers excel\Matières productions plafonds 2016cop.xlsx"
' classeur = "C:\Users\lhelblin\Documents\Stage\Fichiers excel\Alpha.v1.xlsm"
'
'Workbooks.Open(classeur1).Activate
'thisWorkbooks.Activate


tabmois = Array("indexage", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre")

'classeur.Activate
nbcolonne = (Sheets("consommation").Cells(1, Columns.Count).End(xlToLeft).Column) - 1 <--le programme bloque a l'exécution de la première ligne qui touche au classeur de base
nbligne = (classeur.Worksheets("consommation").Cells(Application.Rows.Count, 1).End(xlUp).Row) - 1 <-- ce modèle la ne fonctionne pas non plus c'est meme pire

Merci d'avance,

Pozaec
 
Re : Question Workbooks

Hello
nbcolonne = (Sheets("consommation").Cells(1, Columns.Count).End(xlToLeft).Column) - 1
nbligne = (classeur.Worksheets("consommation").Cells(Applica tion.Rows.Count, 1).End(xlUp).Row) - 1

Tu ne lui dis pas de quel classeur il s'agit.. juste la feuille..
d'ailleurs. je présume que si tu remets le "classeur.activate", ca fonctionne.. non?
dans ce cas par défaut, il prend la feuille "consommation" du classeur actif

essaie avec

Code:
with classeur
   nbcolonne = .Sheets("consommation").Cells(1, Columns.Count).End(xlToLeft).Column) - 1 
   nbligne = .sheets("consommation").Cells(Rows.Count, 1).End(xlUp).Row) - 1 
end with
 
Dernière édition:
Re : Question Workbooks

J'ose pas trop donner le fichier car la base viens de mon entreprise, oui le nom est bien identique j'ai fait un copié collé d'un autre programme qui marche, je vais essayer de faire ça dans un autre module car pour l'instant j'ai plusieurs Sub dans le meme module, c'est peut etre ça le souci, sinon je n'ai plus qu'a devenir chèvre

merci de tes réponses 🙂

[EDIT:]
Non, toujours pas de changement 🙁
 
Dernière modification par un modérateur:
Re : Question Workbooks

je regarde tout ça et je te redis, est-ce possible qu'une protection sur le fichier visé fasse tout planté ? car meme une pauvre instruction dans un autre module, de comptage ne marchais plus, et après redémarrage d'excel, tout fonctionnais, mais apres relancement du bout de code pour appelé le fichier visé, plus rien ne remarchais

merci beaucoup !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
676
Réponses
2
Affichages
2 K
Retour