Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Référence à des plages nommées / classeurs différents / nom classeur en variable

Manu67

XLDnaute Nouveau
Bonjour à tous,

Je cherche à faire référence à des classes nommées d'un autre classeur que le classeur actif, sachant que ce classeur porte un nom variable, qui est donc stocké dans une variable string..

Pour le moment, ma macro fait ce que je veux en activant tour à tour les classeurs (bonjour les yeux) et en stockant la valeur à "transférer" dans une variable temporaire

Je souhaiterais quelquechose comme :
For i = 1 to 10
With Workbooks("Ulysse.xlsm").Sheets("PCG")
.Cells(j + i, Range("PCG_debitctrl").Column)range(nomfichierfacture!nomfeuille!TOTAL).offset(i,0)
end with
next i

POur le moment ça fonctionne tant bien que mal comme ceci:;
For i = 1 to 10
With Workbooks("Ulysse.xlsm").Sheets("PCG")
Workbooks(nomfichierfacture).Activate
temp = Range("TOTAL").Offset(i, 0) 'debité ctrl d'après facture
Workbooks("Ulysse.xlsm").Activate
.Cells(j + i, Range("PCG_debitctrl").Column) = temp
end with
next i

MERCI par avance à tous pour votre aide précieuse.

Emmanuel
 
Solution
Bonjour

J'ai finalement simplifié mon fonctionnement en enregistrant mon classeur sous un nom fixe ("monclasseur.xlsm") pour pouvoir y faire référence facilement et ai décomposé la référence en
workbooks("nomclasseur.xlsm").sheets("nomdemafeuille").range("TOTAL") pour la référence au classeur non actif

Cela fonctionne très bien.

Manu67

XLDnaute Nouveau
Bonjour

J'ai finalement simplifié mon fonctionnement en enregistrant mon classeur sous un nom fixe ("monclasseur.xlsm") pour pouvoir y faire référence facilement et ai décomposé la référence en
workbooks("nomclasseur.xlsm").sheets("nomdemafeuille").range("TOTAL") pour la référence au classeur non actif

Cela fonctionne très bien.
 

Discussions similaires

Réponses
7
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…