Copie des données d'une feuille via macro
Résolu
reno421
Messages postés
47
Statut
Membre
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je sollicite à nouveau votre aide. Je dois réactualiser, régulièrement des données d'un fichier excel. Pour clà, j'ai créé la macro ci-dessous. Le hic c'est qu'il va bien me chercher les bonnes données mais qu'il les copie dans un nouveau classeur au lieu de le copier dans le classeur de départ (classeur_principal, dans le code). De plus, j'aimerais qu'il garde la même mise en page. Qui peut m'apporter la solution ? D'avance merci
Je sollicite à nouveau votre aide. Je dois réactualiser, régulièrement des données d'un fichier excel. Pour clà, j'ai créé la macro ci-dessous. Le hic c'est qu'il va bien me chercher les bonnes données mais qu'il les copie dans un nouveau classeur au lieu de le copier dans le classeur de départ (classeur_principal, dans le code). De plus, j'aimerais qu'il garde la même mise en page. Qui peut m'apporter la solution ? D'avance merci
Sub Mise_a_jour_PAA_VLT() ' ' Mise à jour PAA_VLT ' Dim wbMyWb As Workbook Dim Nom_Classeur As Variant Dim Classeur_principal As Variant Dim Faeff As String Faeff = "PAA-VLT" Classeur_principal = ActiveWorkbook.Name If MsgBox("Voulez vous mettre à jour la liste des remarques VLT ? ", vbYesNo) = vbYes Then Effacer_données_feuille (Faeff) ' efface les données de la feuille PAA-VLT ' ChDir "C:\xxxx\yyyy\fichier.xls" pour imposer un répertoire spécifique Nom_Classeur = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls") ' recherche du fichier de données If Nom_Classeur <> False Then Set wbMyWb = Workbooks.Open(Nom_Classeur) wbMyWb.Activate End If wbMyWb.Sheets(Faeff).Copy 'Copie les données de la feuille du classeur choisi Workbooks(Classeur_principal).Worksheets("PAA-VLT").Activate Cells(1, 1).Select ' ThisWorkbook.Sheets(Faeff).Activate ' Met à jour les données dans le fichier initial ' ActiveSheet.Paste Selection.PasteSpecial Paste:=xlPasteValues 'fermeture classeur wbMyWb.Activate wbMyWb.Close False 'fermeture classeur sans sauvegarde (True si sauvegarde) Else End If End Sub
A voir également:
- Copie des données d'une feuille via macro
- Fuite données maif - Guide
- Copie cachée - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
3 réponses
Bonjour,
Sub Mise_a_jour_PAA_VLT()
Dim wbMyWb As Workbook
Dim Nom_Classeur As Variant
Dim Classeur_principal As Variant
Dim Faeff As String
Application.ScreenUpdating = False
Faeff = "PAA-VLT"
Classeur_principal = ActiveWorkbook.Name
If MsgBox("Voulez vous mettre à jour la liste des remarques VLT ? ", vbYesNo) = vbYes Then
'Effacer_données_feuille (Faeff) ' efface les données de la feuille PAA-VLT
' ChDir "C:\xxxx\yyyy\fichier.xls" pour imposer un répertoire spécifique
Nom_Classeur = Application.GetOpenFilename("Fichiers Excel (*.xls), *.xls") ' recherche du fichier de données
If Nom_Classeur <> False Then
Set wbMyWb = Workbooks.Open(Nom_Classeur)
Else
MsgBox " Pas de fichier selectionne!!!!"
Exit Sub
End If
Worksheets(Faeff).Cells.Copy 'Copie les données de la feuille du classeur choisi
Workbooks(Classeur_principal).Worksheets("PAA-VLT").Activate
Cells(1, 1).Select
Application.DisplayAlerts = False
Selection.PasteSpecial Paste:=xlPasteAll
Application.DisplayAlerts = True
'fermeture classeur
wbMyWb.Close False 'fermeture classeur sans sauvegarde (True si sauvegarde
End If
End Sub
Re,
ai ajouter obligation remplir cellules sur deplacement dans feuille
https://www.cjoint.com/c/EBfqGlFogdk
A+
ai ajouter obligation remplir cellules sur deplacement dans feuille
https://www.cjoint.com/c/EBfqGlFogdk
A+
Merci pour ta réponse rapide. J'ai essayé, je comprends ton code mais quand je test, au lieu de venir replacer dans les données copiées dans le fichier de départ 'a', il les copie dans un fichier 'c'
En essayant d'âtre plus clair.
Je suis dans le fichier 'a'
J'ouvre via la macro le fichier 'b'
je copie les données de la feuille 'VAA-VLT'
je dois revenir dans le fichier 'a' pour les coller
je ferme le fichier 'b'
hors, ce qu'il ce passe c'est qu'il ouvre un fichier 'c' fait la copie puis ferme le fichier 'b'.
Je ne comprends pas pourquoi.
Merci pour ton aide
je comprends ton code
Ben c'est quand-meme au moins 95% du votre, alors .........
hors, ce qu'il ce passe c'est qu'il ouvre un fichier 'c' J'ai fait pas mal de tests et je n'ai pas de fichier 'c'!!!!!!!!!!!!!
Je ne vois pas par quel "miracle" ce fichier peut s'ouvrir ?????
Faites une recopie d'ecran de facon a voir ce fameux ficher 'c'
ou xx est le numéro du fichier, 1iere exécution de la macro-> 1, 2ième ->2, ...
je ne comprends pas