Importer des données d'un classeur à un autre

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

A

alaumajo

Guest
Bonjour a tous et toutes

Je reviens vers vous avec un sujet qui a déjà fait l'objet de discussion mais malgré mes recherches je bloque complètement.
Je joints deux classeurs pour mieux expliquer mon but
Je vous épargne mes essais qui n'ont abouti a rien ou pas grand chose....quoi qu'ils auraient certainement fait sourire quelques uns d'entre vous.

Merci à tout ceux qui se pencheront sur ce sujet.
 

Pièces jointes

Re : Importer des données d'un classeur à un autre

Bonjour Alaumajo, Philippe, bonjour le forum,

En pièce jointe une proposition avec le code commenté. Comme je n'ai pas Excel 2007 j'ai converti tes deux fichiers en .xls. Et comme j'y fait référence en dur dans le code il faudra que tu modifies ces deux lignes si tu transposes le code à tes classeurs :
Code:
Set cs = Workbooks("Classeur source.xls") 'déclare la variable cs (tu rajouteras un x à l'extension pour ton exemple)
Set cd = Workbooks("Classeur destination.xls") 'déclare la variable cd (tu rajouteras un m à l'extension pour ton exemple)
en rajoutant x (Classeur source.xlsx) et m (Classeur destination.xlsm).

Donc si j'ai bien compris ta requête, tu ouvres la classeur Source, tu repères les colonnes à copier, tu ouvres le classeur Destination et dans l'UserForm, tu tapes les colonnes repérées (B et D dans ton exemple). Tu cliques sur importer. Les données des colonnes renseignées dans les deux textboxes du classeur Source sont copiées dans les colonnes D et E du classeur Destination. Tu peux taper la lettre alphabétique de la colonne ("A") ou directement son numéro (1).
Si c'est bien ça que tu voulais, le code devrait convenir...
 

Pièces jointes

Re : Importer des données d'un classeur à un autre

Merci phlaurent55 , j'étais totalement passé a coté de cette subtilité du forum😱

Merci également robert, j'ai plus qu'a étudier ta proposition et a l'appliquer dans mon projet.
 
Re : Importer des données d'un classeur à un autre

Je viens de tester ton code robert et ça marche pas mal. Serait il possible d'importer seulement la valeur des cellules pour une question de mise en page dans le classeur de destination. Je suppose qu'il faut modifier cette ligne de code :
cs.Sheets("Feuil1").Range(cs.Sheets("Feuil1").Cells(2, col(0)), cs.Sheets("Feuil1").Cells(Application.Rows.Count, col(0)).End(xlUp)).Copy cd.Sheets("Feuil1").Range("D2")
 
Re : Importer des données d'un classeur à un autre

Bonjour Alaumajo, Philippe, bonjour le forum,

Ha je suis content que ça marche pas mal... Sinon c'est exactement ça, pour ne copier que les valeurs, remplace la ligne que tu indiques par :
Code:
'copie les données de la colonne col(0) du classeur source
cs.Sheets("Feuil1").Range(cs.Sheets("Feuil1").Cells(2, col(0)), cs.Sheets("Feuil1").Cells(Application.Rows.Count, col(0)).End(xlUp)).Copy
cd.Sheets("Feuil1").Range("D2").PasteSpecial (xlPasteValues) 'colle les valeurs dans D2 du classeur destination
et pour la seconde colonne :
Code:
'copie les données de la colonne col(1) du classeur source
cs.Sheets("Feuil1").Range(cs.Sheets("Feuil1").Cells(2, col(1)), cs.Sheets("Feuil1").Cells(Application.Rows.Count, col(1)).End(xlUp)).Copy
cd.Sheets("Feuil1").Range("E2").PasteSpecial (xlPasteValues) 'colle les valeurs dans E2 du classeur destination
 
Re : Importer des données d'un classeur à un autre

Ce coup ci c'est mieux que pas mal 🙂 Robert
Je te remercie pour ce cours. Avec votre aide, je finirai peut être un jour par aligner deux lignes de code sans appeler au secours au bout de la première.
 
Re : Importer des données d'un classeur à un autre

Encore un petit blocage qui me ramène vers vous.
Je souhaiterai que les ref "Feuil1" des classeurs Cs et Cd soient le contenue de deux TextBox ou ComboBox.
Comment dois-je definir ces 2 variables pour les remplacer dans cette ligne de codes :
cs.Sheets("Feuil1").Range(cs.Sheets("Feuil1").Cells(2, col(0)), cs.Sheets("Feuil1").Cells(Application.Rows.Count, col(0)).End(xlUp)).Copy
cd.Sheets("Feuil1").Range("D2").PasteSpecial (xlPasteValues) 'colle les valeurs dans D2 du classeur destination
 
Re : Importer des données d'un classeur à un autre

Bonjour à tous,

regarde ceci, pour un textbox sur un usf, celui-ci doit être chargé en mémoire, nom des objets à adapter :
Code:
cd.Sheets(UserForm1.TextBox1.Value).Range("D2").PasteSpecial
bonne journée
@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
10
Affichages
2 K
H
Réponses
0
Affichages
808
Hanayuki
H
A
Réponses
2
Affichages
902
a_loic
A
Retour