Importer une plage de données à partir d'un fichier fermé
Résolu
julia Namor
Messages postés
524
Date d'inscription
Statut
Membre
Dernière intervention
-
julia Namor Messages postés 524 Date d'inscription Statut Membre Dernière intervention -
julia Namor Messages postés 524 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Importer une plage de données à partir d'un fichier fermé
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Fichier rar - Guide
5 réponses
Salam Julia.
En fait, il fallait quelque corrections à ton code au niveau des lignes en gras :
Est-ce que ça marche ?
J'espère que oui !
:)
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 !
:)
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
Ç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
Salam Julia.
Pour l'histoire des doublons, essaye ceci : https://www.cjoint.com/?DICm5AJcsvD
Bon wekk-end à ton tour :)
Pour l'histoire des doublons, essaye ceci : https://www.cjoint.com/?DICm5AJcsvD
Bon wekk-end à ton tour :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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