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

Récupérer des données depuis un autre classeur

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

L

Lacure

Guest
Bonjour à tous !

Voila l'idée, j'ai un classeur qui va contenir toutes les données nécessaires à mon opération.
Dans un autre classeur je dispose d'un TCD lequel va chercher les info de l'autre classeur. Dans ce TCD j'ai créé un userform pour choisir un nom parmis une liste. Ce userform comporte :

- 1 intitulé
- 1 Listbox
- 2 Boutons (valider, quitter)

Je ne sais pas comment demander de récupérer les données dans l'autre classeur. En tant normal, on donne le nom de la feuille et les coordonnées...

Merci de vos réponses !
 
Re : Récupérer des données depuis un autre classeur

Hello,


Sa manque de précision tout sa...

Ton autre classeur il est ouvert ? ou fermé ?


Si il est ouvert je reprend ce que tu as dit

En tant normal, on donne le nom de la feuille et les coordonnées...

Bah oui, il suffis d'y ajouter le nom du classeur et sa fonctionne pareil 🙂

Exemple:

Code:
MaValeur = Workbooks("TonCasseur").Sheets("TaFeuille").Range("A1").Value

Si le classeur est fermé Soit on l'ouvre et on le ferme par macro. soit on use les requêtes SQL(mais sa c'est moins facil)

A te relire...

Meilleures salutations
 
Re : Récupérer des données depuis un autre classeur

Merci c'est parfait, si il s'agit non plus d'une ListBox mais d'une ComboBox, le code reste-t-il le même ?

Les requêtes SQL je préfère éviter pour l'instant étant donné que je ne me suis jamais trop penché dessus, je vais essayer de faire une macro mais cela risque de ralentir les exécutions non ?
 
Re : Récupérer des données depuis un autre classeur

Re,


Dans un combo box c'est le même principe. Etant donné que tu utilise XL2010 tu as l'auto implement dans VBA donc dès que tu écris une ligne exemple Combobox1 dès que tu ajoute le point (.) il va te proposer une liste de chose possible,te suffit de trouver la bonne.

Après, ce tuto contient également un grand savoir. Très pratique pour créer des USF Utiliser les contrles dans un UserForm, en VBA Excel

je vais essayer de faire une macro mais cela risque de ralentir les exécutions non ?

Je peux pas te répondre car ta question est un peux space. Ralentir l’exécution du code ? Comment répondre on connait pas ton code. On connait pas non plus la quantité de donnée que tu veux faire passer d'un classeur à l'autre bref on sait rien quoi ^^.

Je vais tenter une réponse quand même car ma boule de cristal me souffle des trucs.

L’exécution du code va être ralentie si:

1) Tu effectue des traitements sur tes tableaux (exemple boucle FOR pour trier, modifier, etc... et j’insiste sur le fait qu'il faut un mega tableau pour ralentir significativement le code.

2) Si tu effectue des .select (Moins tu fais intervenir l'affichage, plus ton code sera rapide)

3) Si tu fais des copier / coller (...range("A2").copy => ...Range("A2").Paste) on prefert faire du value à value exemple:

patatipatata.range("A").value = AutrePatati.range("A3").value

4) d'autres raisons sombres et obscures


Voila, avec le manque d'informations, faut pas m'en vouloir si c'est pas précis.

Meilleures salutations
 
Re : Récupérer des données depuis un autre classeur

Merci de tes réponses et pour ce tutoriel je vais lire ça !

Quand je parlais de ralentir c'était si le programme devait ouvrir puis refermer des classeurs à chaque fois. Mon tableau aura environ 8000 lignes voir 10 000. Enfin c'est pas le problème pour le moment donc je verrais si cela à vraiment un impact ou pas.

Encore merci de tes réponses et désolé pour mes explications un peu vague :s
 
Re : Récupérer des données depuis un autre classeur

Re,


Dans le cas ou tu va traiter des données, tu ouvre une fois ton classeur, tu fais tout le traitement et tu referme à la fin mais si tu ouvre et ferme à chaque fois c'est sur que t'aura de gros problème de performance.

Dans le cas ou tu rencontre des problème de performance il te faudra être précis sur ce que tu veux obtenir au risque de ne pas avoir beaucoup d'aide.

Meilleures salutations
 
Re : Récupérer des données depuis un autre classeur

Je me permet de reposer une question :

Dans un classeur avec 2 feuilles, je souhaite récupérer la colonne A pour l'intégrer à une comboBox. Rien ne s'affiche, voici mon code :

Code:
Private Sub ComboBox1_Change()

Dim i As Byte
    
    For i = 1 To Sheets("Feuil2").Range("A458").End(xlUp).Row
        ComboBox1 = Sheets("Feuil2").Range("A" & i)
        
        If ComboBox1.ListIndex = -1 Then
            ComboBox1.AddItem Sheets("Feuil2").Range("A" & i)
        
    Next i

End Sub

Je cherche aussi à éliminer les éventuels doublons à travers ce bout de code.

J'ai aussi essayé ceci :

Code:
ComboBox1.RowSource = Sheets("Feuil2").Range("A2:A458").Value
A la compilation, la combobox reste vide ...
Comment ce fait il ?
 
Dernière modification par un modérateur:
Re : Récupérer des données depuis un autre classeur

Hello,


Pour remplir une combobox faut utiliser une procédure de ce style

Code:
Private Sub UserForm_Initialize()

For i = 1 To 10


Me.ComboBox1.AddItem Workbooks("TestRemplireCombobox.xlsx").Sheets("Feuil1").Range("A" & i).Value

Next
End Sub

Edit: J'avais pas vu mais, tu pose une question sur comment importé des données d'un autre classeur et tu applique pas la methode. Tu met sheets("Feuil2").range("A" & i).value si tu précise pas le classeur il va aller cherche la colonne A du la feuille 2 du classeur afficher en dernier donc si c'est un fichier dont la colonne A est vide, rien ne s'affiche forcement. -_-

Précise le classeur comme dans mon exemple.

Pour les doublons tu fait un find sur les items de la combobox avant de l'écrire.

Mais j'insiste encore et toujours et je le dis sur presque tout les poste, TOUT est dans les tutoriels pour des questions aussi simple.

Visite ce site Les meilleurs cours et ressources pour Excel C'est magique ces tuto. Facile et bien écrit.

Meilleures salutations
 
Dernière édition:
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…