XL 2016 Coller contenu tableau de variables du Classeur 1 sur Classeur 2

  • Initiateur de la discussion Initiateur de la discussion SebCam
  • 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 !

SebCam

XLDnaute Nouveau
Bonjour à tous,
Quelle est la forme du code pour coller l'ensemble des valeurs d'un tableau dimensionné [12 lignes, 7 colonnes]?

.Cells(j, Col).Value = TabVariable(j, Col).Value où j et Col sont des entiers pour mes boucles ligne et colonne. A ce niveau le code me renvoie une erreur d'exécution, Objet requis.

TabVariable(j, Col).Value correspond à mon tableau dimensionné de mon Classeur 1, qui appelle l'ouverture du Classeur 2
.Cells(j, Col).Value est la cellule visée dans le classeur 2, à coller le contenu du tableau dimensionné.

Merci de l'apport de complément, et de l'aide de chacun.

je joints les deux fichiers, Classeur 1 Maître : KPI Methodes, et Classeur 2 esclave : KPI MRI (en xlsx appelé par le fichier Maître).
 

Pièces jointes

Dernière édition:
Bonsoir.
Un tableau n'est pas un objet, il n'a donc pas de propriété, en particulier pas de propriété Value.
Par contre vous pouvez affecter l'ensemble d'un tableau à la propriété Value d'un Range couvrant toutes les cellules voulues, pas besoin de boucle.
 
Pourquoi ne faites vous pas simplement :
VB:
Set wk_template_BD = Application.Workbooks.Open("E:\000-Fiches utilitaires_KPI\02- KPI Key Performance Indicator\00-KPI\" _
   & "00-Analyse Vibratoire KPI MRI.xlsx")
Set ws_BD = wk_template_BD.Worksheets("INDICATEUR PERF VIBRATOIRE")
ws_BD.[A4:L19].Value = Feuil2.[A4:L19].Value
ws_BD.[E8:E19].FormulaR1C1 = "=RC4/RC3"
ws_BD.[F8:F19].FormulaR1C1 = "=RC7+RC8"
 
Bonsoir Dranreb,
je ne connaissais pas cette façon de coder, mais en effet ça marche. En résumé,
[A4:L19] de la feuille destination copie conforme des valeurs de la feuille source.
[E8:E19] et [F8:F19] de la feuille destination, copie des formules de la feuille source.

C'est beaucoup plus rapide à coder, que mon code initial!

Merci à toi.
 
Bonsoir cher membre.
Je reviens sur le post, pour le code que j'ai présenté. Celui de Dranreb, que je remercie, fonctionne.
Après plusieurs test, l'écriture .Cells(j, Col).Value = TabVariable(j, Col).Value me renvoyait une erreur d'exécution.
Il fallait écrire ceci : .Cells(j, Col).Value = TabVariable(j, Col)

Et là ça marche! Pour ceux à qui ça intéresse.

Merci encore Dranreb
 
- 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
29
Affichages
2 K
Retour