Importer une plage de données à partir d'un fichier fermé [Résolu/Fermé]

Signaler
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
-
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
-
Bonjour,

J'aimerai importer une plage de donnée à partir d'un fichier fermé . J'ai trouvé ce code sur le net et j'ai essayé en vain de l'adapter à ma situation.

Je sollicite votre aide pour le corriger .
Merci énormément




Private Sub IMPORTER_Click()

Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim titre As String
Dim wbk1 As Workbook
Dim wbk2 As Workbook
chemin = ThisWorkbook.Path
titre = chemin & "bdd.xlsm"
Set wbk1 = ThisWorkbook
Set wbk2 = Workbooks.Open(titre) '(ouvrir le classeur (titre)
wk1.Sheets(base).Range("données").Value = wbk2.Sheets(base).Range("données").Value
wbk2.Close
End Sub

5 réponses

Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
107
Salam Julia.

En fait, il fallait quelque corrections à ton code au niveau des lignes en gras :

Private Sub IMPORTER_Click()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim titre As String
Dim wbk1 As Workbook
Dim wbk2 As Workbook
chemin = ThisWorkbook.Path
titre = chemin & "\bdd.xlsm"
Set wbk1 = ThisWorkbook
Set wbk2 = Workbooks.Open(titre) '(ouvrir le classeur (titre)
wbk1.Sheets("base").Range("données").Value = wbk2.Sheets("base").Range("données").Value
wbk2.Close
End Sub

Est-ce que ça marche ?
J'espère que oui !

:)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Merci redaiwa

Ça marche très bien.

Est-ce que c'est possible de modifier le code de sorte que les données en doublons (déjà existantes dans wbk1) soient détectées et non importées ?

Gros merci
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
j'y cours
Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
107
Salam Julia.

Pour l'histoire des doublons, essaye ceci : https://www.cjoint.com/?DICm5AJcsvD

Bon wekk-end à ton tour :)
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Merci Redaiwa de ton soutien

le lien ne fonctionne pas.

bien Cordialement
Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
107
Apparemment, le fichier a été "purgé" de chez Cjoint :-))))) Peut-être à cause de l'extension .rar ?
En tous cas voici deux liens, le 1er pour wbk1.xlsm et le 2ème pour bdd.xlsm :
https://www.cjoint.com/c/DIDkBHctMBY (wbk1.xlsm)
https://www.cjoint.com/c/DIDkEKEoTJ1 (bdd.xlsm)

NB : ne pas oublier de renommer les fichier après téléchargement.

Bon courage et surtout gardons le sourire :-)
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
merci
Messages postés
346
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
2 juin 2015
107
Salam Julia.

Désolé de couper court, mais je dois quitter maintenant, chez nous c'est déjà le week-end !
Bonne chance et A+.
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
merci bon we
Messages postés
468
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
8 mars 2020
32
Bonjour redaiwa

Excuses moi du retour tardif.

Les fichiers correspondent bien à l'importation des données avec contrôle de la présence ou non d'un doublon dans la BDD avant de copier. Ça fonctionne bien.

En revanche, je n'ai que la colonne A d'importée. J'ai essayé d'étendre, en vain, la copie des lignes de A à J en faisant :

fin1 = ThisWorkbook.Sheets("base").Range("A:J" & Rows.Count).End(xlUp).Row
fin2 = Workbooks("bdd.xlsm").Sheets("base").Range("A:J" & Rows.Count).End(xlUp).Row.

Je te joins deux fichiers d'exemples.

Le contrôle des doublons se faisant sur le numéro de Matricule (donnée individuelle).

Merci énormément

https://www.cjoint.com/?3JbhgYiL8I4
https://www.cjoint.com/?3JbhhDYKd1M