Exporter les données d'une PJ excel sur un autre ficher
Fermé
Salmane00
Messages postés
6
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
20 juin 2013
-
20 juin 2013 à 06:29
Salmane00 Messages postés 6 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 20 juin 2013 - 20 juin 2013 à 14:31
Salmane00 Messages postés 6 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 20 juin 2013 - 20 juin 2013 à 14:31
A voir également:
- Exporter les données d'une PJ excel sur un autre ficher
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Calculer une moyenne sur excel - Guide
- Formule excel - Guide
- Si et excel - Guide
6 réponses
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
20 juin 2013 à 11:11
20 juin 2013 à 11:11
Bonjour,
Cela est faisable, cependant il nous faut de plus amples informations ! Si vous vous y connaissez en VBA je peux vous mettre une macro relative que vous devrez adapter à vos besoins. Sinon, il faut nous dire cb de pages a votre PJ, quelle est la plage de données a copier, ou la coller, quel est le nom du fichier dans lequel les coller, à quelle place etc.
Sans ces informations, impossible de vous aider...
Amicalement
Cela est faisable, cependant il nous faut de plus amples informations ! Si vous vous y connaissez en VBA je peux vous mettre une macro relative que vous devrez adapter à vos besoins. Sinon, il faut nous dire cb de pages a votre PJ, quelle est la plage de données a copier, ou la coller, quel est le nom du fichier dans lequel les coller, à quelle place etc.
Sans ces informations, impossible de vous aider...
Amicalement
Salmane00
Messages postés
6
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
20 juin 2013
20 juin 2013 à 11:29
20 juin 2013 à 11:29
Re-bonjour,
Ma PJ ne contient qu'une seule et unique page ( vous pouvez me mettre une plage de données a copier comme test que jvé adapter à mes besoins
Les données doivent etres prise de la PJ source vers un autre ficher sur le bureau sous le nom de "TEST 1"
Bien à vous
Ma PJ ne contient qu'une seule et unique page ( vous pouvez me mettre une plage de données a copier comme test que jvé adapter à mes besoins
Les données doivent etres prise de la PJ source vers un autre ficher sur le bureau sous le nom de "TEST 1"
Bien à vous
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
20 juin 2013 à 11:32
20 juin 2013 à 11:32
Les données doivent être mises à la suite des autres ?
Si personne ne m'embete trop après avoir mangé je vous fait ca ;-)
Si personne ne m'embete trop après avoir mangé je vous fait ca ;-)
Salmane00
Messages postés
6
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
20 juin 2013
20 juin 2013 à 11:43
20 juin 2013 à 11:43
Oui Oui c en kélk sort un cumul de données HEBDO
Merci ;-)
Merci ;-)
Salmane00
Messages postés
6
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
20 juin 2013
20 juin 2013 à 11:34
20 juin 2013 à 11:34
Une petite précision la PJ que je reçois d'une manière quotidienne a la même nomination ya donc juste la date du mail qui change
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
20 juin 2013 à 12:04
20 juin 2013 à 12:04
Donc le nom du fichier PJ est bien toujours le même ?
Ou il est dynamique avec la date genre PJ_200613
Ou il est dynamique avec la date genre PJ_200613
Salmane00
Messages postés
6
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
20 juin 2013
20 juin 2013 à 12:22
20 juin 2013 à 12:22
nn meme pas :( c'est la date du mail qui change ,la PJ a le meme nom PJ-TEST.csv
redaiwa
Messages postés
351
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
25 janvier 2024
119
20 juin 2013 à 12:55
20 juin 2013 à 12:55
Salam Salmane00.
Qu'entend-tu précisément par exporter ? Est-ce copier une (ou plusieurs) feuille(s) entière(s) depuis la PJ vers ton fichier ou bien ne sélectionner que certaines données éparpillées?
Qu'entend-tu précisément par exporter ? Est-ce copier une (ou plusieurs) feuille(s) entière(s) depuis la PJ vers ton fichier ou bien ne sélectionner que certaines données éparpillées?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
20 juin 2013 à 12:58
20 juin 2013 à 12:58
Voici la macro, il y a pas mal de choses a changer, comme le chemin et les ranges ;-)
Le principe est qu'elle va copier lignes par lignes et les coller a la suite dans votre classeur principal. Biensur, la macro est lancée DEPUIS le classeur principal :-D
_______________
Sub ImportPJData()
'Définition de la SOURCE - TEST 1
Set ClasseurSource = ActiveWorkbook
Set SourceSheet = ClasseurSource.Sheets(1)
'Définition de la TARGET - PJ
Dim ClasseurPJ As Workbook
Dim PJSheet As Worksheet
Dim PJPath As String
PJPath = "C:\Users\**\Desktop\PJ.xlsm"
'Définition du début de la colonne et ligne ou se trouvent les données
lg_no = 1 ' Ligne 1
col_no = 1 'Colonne A
'Activation de la feuille ou la macro s'active pour éviter l'erreur 1004
SourceSheet.Activate
'Message de confirmation de l'archivage
Dim iReply As Integer
iReply = MsgBox(Prompt:="Voulez-vous vraiment importer les données ?", _
Buttons:=vbYesNoCancel, Title:="Importation des données journalières")
If iReply = vbYes Then
'REPONSE POSITIVE
'ouvrir l'ARCHIVE
'Tester si fichier déjà ouvert
On Error Resume Next
Workbooks("PJ.xlsm").Sheets(1).Activate
'si une erreur est renvoyé, le fichier est déjà ouvert
If Err.Number <> 0 Then
Set ClasseurPJ = Application.Workbooks.Open(PJPath, , False)
End If
Set PJSheet = ClasseurPJ.Sheets(1)
'Boucle de copie
Application.ScreenUpdating = False ' pour aller plus vite
Do While Not IsEmpty(PJSheet.Cells(lg_no, col_no))
'La ligne de donnée n'a pas été encore copiée
PJSheet.Range("A" & lg_no & ":" & "F" & lg_no).Copy ClasseurSource.Sheets(1).Range("A100000").End(xlUp)(2)
lg_no = lg_no + 1 'on incrémente la ligne
Loop
ElseIf iReply = vbNo Then
MsgBox ("Importation arrêtée")
ClasseurSource.Sheets(1).Activate
Exit Sub
Else 'They cancelled (VbCancel)
MsgBox ("Importation arrêtée")
ClasseurSource.Sheets(1).Activate
Exit Sub
Exit Sub
End If
'fermeture de PJ sans enregistrer
ClasseurPJ.Close False
'Aller à l'INTERFACE
ClasseurSource.Sheets(1).Activate
Application.ScreenUpdating = True ' remettre par défaut
End Sub
Le principe est qu'elle va copier lignes par lignes et les coller a la suite dans votre classeur principal. Biensur, la macro est lancée DEPUIS le classeur principal :-D
_______________
Sub ImportPJData()
'Définition de la SOURCE - TEST 1
Set ClasseurSource = ActiveWorkbook
Set SourceSheet = ClasseurSource.Sheets(1)
'Définition de la TARGET - PJ
Dim ClasseurPJ As Workbook
Dim PJSheet As Worksheet
Dim PJPath As String
PJPath = "C:\Users\**\Desktop\PJ.xlsm"
'Définition du début de la colonne et ligne ou se trouvent les données
lg_no = 1 ' Ligne 1
col_no = 1 'Colonne A
'Activation de la feuille ou la macro s'active pour éviter l'erreur 1004
SourceSheet.Activate
'Message de confirmation de l'archivage
Dim iReply As Integer
iReply = MsgBox(Prompt:="Voulez-vous vraiment importer les données ?", _
Buttons:=vbYesNoCancel, Title:="Importation des données journalières")
If iReply = vbYes Then
'REPONSE POSITIVE
'ouvrir l'ARCHIVE
'Tester si fichier déjà ouvert
On Error Resume Next
Workbooks("PJ.xlsm").Sheets(1).Activate
'si une erreur est renvoyé, le fichier est déjà ouvert
If Err.Number <> 0 Then
Set ClasseurPJ = Application.Workbooks.Open(PJPath, , False)
End If
Set PJSheet = ClasseurPJ.Sheets(1)
'Boucle de copie
Application.ScreenUpdating = False ' pour aller plus vite
Do While Not IsEmpty(PJSheet.Cells(lg_no, col_no))
'La ligne de donnée n'a pas été encore copiée
PJSheet.Range("A" & lg_no & ":" & "F" & lg_no).Copy ClasseurSource.Sheets(1).Range("A100000").End(xlUp)(2)
lg_no = lg_no + 1 'on incrémente la ligne
Loop
ElseIf iReply = vbNo Then
MsgBox ("Importation arrêtée")
ClasseurSource.Sheets(1).Activate
Exit Sub
Else 'They cancelled (VbCancel)
MsgBox ("Importation arrêtée")
ClasseurSource.Sheets(1).Activate
Exit Sub
Exit Sub
End If
'fermeture de PJ sans enregistrer
ClasseurPJ.Close False
'Aller à l'INTERFACE
ClasseurSource.Sheets(1).Activate
Application.ScreenUpdating = True ' remettre par défaut
End Sub
Salmane00
Messages postés
6
Date d'inscription
jeudi 20 juin 2013
Statut
Membre
Dernière intervention
20 juin 2013
20 juin 2013 à 14:31
20 juin 2013 à 14:31
Merci pour votre aide précieuse :)
Bien à vous
Bien à vous