Importer une ligne à partir d'un classeur fermé ?
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
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
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.
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 ....
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
A +
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.
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à
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.