VBA - Récupérer des données Excel d'un autre classeur

Résolu/Fermé
pololow Messages postés 7 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 25 janvier 2019 - Modifié le 24 janv. 2019 à 09:50
pololow Messages postés 7 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 25 janvier 2019 - 24 janv. 2019 à 11:55
Bonjour à tous,

Je cherche désespérément le moyen de faire une macro me permettant de récupérer des données d'un autre fichier excel.

Je vous explique rapidement.
Actuellement j'ai un fichier excel sur lequel je viens coller des références sur la première colonne de la feuille1.
J'ai une macro qui me permet de lire la référence qui est sur la ligne de la cellule sélectionnée,
qui ensuite va la rechercher dans la 2ème feuille (qui est une sorte de base de données),
qui copie des cellules qui sont sur la même ligne
et les colle sur la feuille 1.

Mon objectif est de faire la même manipulation, en considérant cette fois ma base de données dans un autre fichier excel.
Je ne trouve pas de solutions.. Quelqu'un a une idée?

Voici mon programme:

Dim i, j As Integer
Dim fin As Integer
Dim a As Integer
Dim Ligne As Integer
Dim Colonne As Integer
Dim ref As String
Dim MaPlage As Range
Dim Onglet As Integer

Application.ScreenUpdating = False

'Prend les caractéristiques de la cellule sélectionnée
Ligne = ActiveCell.Row
Colonne = ActiveCell.Column
Onglet = ActiveSheet.Index

ref = Cells(Ligne, 1)


Feuil3.Activate
fin = Feuil3.Cells(Application.Rows.Count, 1).End(xlUp).Row


For i = 2 To fin
If Cells(i, 1).Value = ref Then

Feuil3.Activate
Range("P" & i).Copy
Worksheets(Onglet).Activate
Range("A" & Ligne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone

Feuil3.Activate
Range("Q" & i).Copy
Worksheets(Onglet).Activate
Range("B" & Ligne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone

Feuil3.Activate
Range("R" & i).Copy
Worksheets(Onglet).Activate
Range("C" & Ligne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone

Feuil3.Activate
Range("J" & i).Copy
Worksheets(Onglet).Activate
Range("E" & Ligne).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone


Worksheets(Onglet).Cells(Ligne, 2).Value = Feuil3.Cells(i, 3).Value
Worksheets(Onglet).Cells(Ligne, 6).Value = Feuil3.Cells(i, 10).Value

Next i

End Sub
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
24 janv. 2019 à 10:15
Bonjour,

Sans voir tes 2 classeurs, il est pratiquement impossible de pouvoir t'aider....

pour cela:
Mettre le classeur sans données confidentielles en pièce jointe sur 
https://mon-partage.fr
Dans lien de téléchargement
faire un clic droit- copier l’adresse du lien et le coller dans votre message en cours sur ccm


utiliser le ".Zip" pour les 2 classeurs mais pas le ".rar"

0
pololow Messages postés 7 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 25 janvier 2019
24 janv. 2019 à 10:30
Merci pour l'information :)

Voici le lien : https://mon-partage.fr/f/5DzF1m4i/
0
pololow Messages postés 7 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 25 janvier 2019
24 janv. 2019 à 11:55
J'ai finalement trouvé la solutiom
-1