Importer une ligne à partir d'un classeur fermé ? Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
l
linpro.lalaland
Jeune membre
Jeune membre
Messages : 24
Inscrit le : 25 novembre 2013
Version d'Excel : 2013

Message par linpro.lalaland » 20 février 2014, 18:04

Bonjour à tous,

Une simple question pour commencer :)

Est-il possible de copier une ligne d'classeur 1 (avec des info dans les cellules ...) dans un classeur 2, sans ouvrir le classeur 1 ?

Ma chef me "propose" un nouveau défi : Comme je travail avec un classeur super lourd, elle me demande de trouver une solution pour que les informations contenu dans une ligne "l" du classeur 1 s'affiche dans le classeur 2 en cliquant sur un lien ou quelque chose du genre.

par exemple:
Dans la cellule A1 du classeur 2 (le petit classeur ...) il y a le mot Réglisse. Si je clique dessus, j'aimerais qu'une fenêtre s'ouvre ou qu'une ligne temporaire s'insère (à côté ou dessous de la cellule de "Réglisse") avec les données de la ligne 38 (par exemple) de mon classeur 1 (gros classeur bien lourd) dans laquelle le mot "réglisse" apparaît dans la cellule A38 !

Je ne sais pas du tout comment m'y prendre sur ce coup là ?!

Pouvez-vous m'aider ?

Merci :)
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 8'891
Appréciations reçues : 68
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 21 février 2014, 21:42

Salut,
linpro.lalaland a écrit :Est-il possible de copier une ligne d'classeur 1 (avec des info dans les cellules ...) dans un classeur 2, sans ouvrir le classeur 1 ?
Je dirais que non :( Mais tu peux le faire avec l’instruction Application.ScreenUpdating = False qui fait que tu ne remarques pas l’ouverture et la fermeture du gros fichier :D

Maintenant, afin de pouvoir avancer concrètement, il faudrait déjà avoir deux modèles de tes fichiers à relier. Tu peux prendre ton fichier monstre et en réduite par exemple les lignes afin qu’il passe sur le forum ou supprimer par exemple les feuilles inutiles à ce problème particulier.

Et puis une information assez importante : ces deux fichiers sont dans le même dossier ? Ou au moins dans des dossiers et sous-dossiers reliés ?

A te relire.
Yvouille

Valais de Coeur
l
linpro.lalaland
Jeune membre
Jeune membre
Messages : 24
Inscrit le : 25 novembre 2013
Version d'Excel : 2013

Message par linpro.lalaland » 24 février 2014, 11:57

A devoir ouvrir mon fichier j'ai choisi une autre alternative (sujet d'un autre post).
J'ai créé un petit programme tout bête en faite pour copier les informations de ma feuille trop chargée vers des cellules d'une autre feuille qui servira de synthèse ....
Exemple.xlsm
(13.76 Kio) Téléchargé 20 fois
Sub CopierColler()

Dim Lig As Integer
Dim DLig As Integer
Dim Fleurx As String
Dim FleurRef As String
Dim InfoACopier As String
Dim InfoAColler As String

With Sheets("Feuil1")
DLig = .Range("A" & Rows.Count).End(xlUp).Row
End With

For Lig = 2 To DLig
Fleurx = Sheets("Feuil1").Cells(Lig, 1)
FleurRef = Sheets("Feuil1").Cells(2, 6)
InfoACopier = Sheets("Feuil2").Cells(Lig, 5)
InfoAColler = Sheets("Feuil1").Cells(3, 7)
    If Fleurx = FleurRef Then
       InfoAColler = InfoACopier
       Worksheets("feuil1").Cells(Lig, 5).Value = InfoACopier
    End If
Next Lig


End Sub
Si ça peut aider !! Encore merci pour ton aide ! Et ton info sur "Application.ScreenUpdating = False qui fait que tu ne remarques pas l’ouverture et la fermeture du gros fichier " je vais essayer :DDDD

A +
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 8'891
Appréciations reçues : 68
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 24 février 2014, 12:33

Bonjour,

Je pense que ta macro pourrait être sensiblement simplifiée, mais sans voir un peu mieux à quoi ressemble ta feuille 'très lourde' et sans savoir exactement comment tu veux indiquer la fleur de référence en F2 de ta Feuil1 (par une liste déroulante ?), c'est difficile de t'en dire plus.

Amicalement.
Yvouille

Valais de Coeur
l
linpro.lalaland
Jeune membre
Jeune membre
Messages : 24
Inscrit le : 25 novembre 2013
Version d'Excel : 2013

Message par linpro.lalaland » 24 février 2014, 13:07

Oups ... ce n'est pas la dernière version :
Sub CopierColler()

Dim Lig As Integer
Dim DLig As Integer
Dim Fleurx As String
Dim FleurRef As String
Dim Info As String


With Sheets("Feuil1")
DLig = .Range("A" & Rows.Count).End(xlUp).Row
End With

For Lig = 2 To DLig
Fleurx = Sheets("Feuil1").Cells(Lig, 1)
FleurRef = Sheets("Feuil1").Cells(2, 6)
Info = Sheets("Feuil2").Cells(Lig, 5)
    If Fleurx = FleurRef Then
       Worksheets("feuil1").Cells(Lig, 5).Value = Info
    End If
Next Lig


End Sub

Voilà :)
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 8'891
Appréciations reçues : 68
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 24 février 2014, 13:32

Bonjour,

Je pense que ta macro pourrait être sensiblement simplifiée, mais sans voir un peu mieux à quoi ressemble ta feuille 'très lourde' et sans savoir exactement comment tu veux indiquer la fleur de référence en F2 de ta Feuil1 (par une liste déroulante ?), c'est difficile de t'en dire plus.

Amicalement.
Yvouille

Valais de Coeur
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message