selection de plage, Range inside :x

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

arnaoke

XLDnaute Occasionnel
Bonjour à tous !

Tout deja je tiens à dire, que j'ai passé pas mal de temps à chercher des solutions sur le net, et que le problème est "partiellement" résolu.

Dans le cadre de mon stage, je suis amené à faire une feuille Excel qui va entre autres, prendre des colonnes d'un fichier excel, pour les coller dans un autre fichier excel.

Mon problème se situe donc au niveau de la séléction de plage des cellules utilisées, voici le code :

Code:
Private Sub ElaboContrats_Click()

Dim classeurSource As Workbook, classeurDestination As Workbook, CheminSource As String


'ouvrir le classeur source (en lecture seule)
Set classeurSource = Application.Workbooks.Open("E:\DONNEES\G91271\MES_DOCUMENTS\PROJET\export_macao.xls", , True)

'définir le classeur destination
Set classeurDestination = ThisWorkbook

'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets("CONTRATS").Range("c6:c" & Range("c65000").End(xlUp).Row).Select   



End Sub

grosso modo ( j'ai apporté quelques modif pr le forum, notamment des commentaires)
voila le code.

Mon problème est que lorsque je clique sur le bouton, je ne vais avoir que les colonnes
C1 à C6 de sélectionner, au lieu d'avoir la plage C6 jusqu'a la dernière cellule non vide ...

J'ai testé la meme commande
Code:
Range("c6:c" & Range("c65000").End(xlUp).Row).Select
seule, dans le fichier, et cette fois elle fonctionne parfaitement ...

je suis un peu perdu, puisque apparemment les commandes sur le net sont valides, mais dans ce cas là, elles ne fonctionnent pas ....

j'ai posté sur developpez.com, et ils n'ont pour le moment pas sut me répondre 🙁

bref, je vous laisse réfléchir.

Merci de m'avoir lut,

Arnaoke
 

Pièces jointes

Re : selection de plage, Range inside :x

Bonjour arnaoke,

Bienvenue sur XLD,

Lorsque tu utilises Range tout seul (sans rien avant), comme dans

Range("c65000").End(xlUp).Row
il est sous-entendu que c'est une plage de la feuille active dans Excel
Or, toi tu souhaites que ça soit dans classeurSource, feuille CONTRATS

Essaye de remplacer

classeurSource.Sheets("CONTRATS").Range("c6:c" & Range("c65000").End(xlUp).Row).Select
par

with classeurSource.Sheets("CONTRATS")
.Range("c6:c" & .Range("c65000").End(xlUp).Row).Select
end with
 
Re : selection de plage, Range inside :x

ça marche merci !!

ok ok , je me calme et j'essai de comprendre :
ça veut dire que si je met un classeurSource.sheets("feuil1").activate , ça devrait normalement marché, puisque on a bien activé la feuille d'ou on devait extraire les données ?
 
- 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
9
Affichages
589
Réponses
3
Affichages
585
Retour