Récupérer données fichier personnel2 et les copier vers fichier personnel

Bonjour à tous

18personnel.xlsm (43.75 Ko)
15personnel2.xlsx (13.85 Ko)

Toujours dans l'optique d'optimiser un planning me voila confronté à une nouvelle problématique.

J'ai pu trouver un début de réponse pour copier les données (code ci-dessous). Le bouton de la macron se trouve sur le fichier "personnel.xlsm"

Objectif : récupérer grâce à une macro un planning se trouvant sur "personnel2.xlsx" et les coller vers "personnel.xlsm".

Cela fonctionne, très bien.

Sub IMPORTATION_PLANNING()

Dim i As Integer
Dim nom As String
Dim Nomdececlasseur As String
Dim Nomcopie As String
Dim chemin As Variant
Dim attention As Integer

Application.DisplayAlerts = False
chemin = Application.GetOpenFilename("Classeurs Excel (*.*), *.*")
If chemin = "Faux" Then Exit Sub
Workbooks.Open (chemin), local:=True
'classeur à copier
Nomcopie = ActiveWorkbook.Name
'on parcourt toutes les feuilles
For i = 1 To Worksheets.Count
Workbooks(Nomcopie).Activate 'classeur à copier a adapter le nom
nom = Worksheets(i).Name
Nomdececlasseur = ThisWorkbook.Name

attention = MsgBox("Etes-vous certain de vouloir remplacer les données existantes par celles du fichier :" & Nomcopie & " ?", vbCritical + vbYesNo, "ATTENTION")

If attention = vbYes Then

Range("A1:AJ27").Select
Selection.Copy
Windows("personnel.xlsm").Activate 'Changer le nom du Fichier si besoin
Sheets("JUILLET").Select 'Changer le nom de l'onglet si besoin
Range("A1:AJ27").Select
ActiveSheet.Paste

MsgBox ("Export Terminé !")

Else

MsgBox ("Export Annulé !")
Workbooks(Nomcopie).Close

End If

Next

Workbooks(Nomdececlasseur).Sheets(1).Activate
Application.DisplayAlerts = True

End Sub

Cependant,

1- je souhaite que mon fichier2 s'ouvre directement sans devoir le faire manuellement. Ci-dessous le code m'ouvre une fenêtre mais m'invite à sélectionner mon fichier "personnel2.xlsx".

chemin = Application.GetOpenFilename("Classeurs Excel (*.*), *.*")

2- je voudrais que dans mon fichier "personnel.xlsm" si les onglets de mois ne sont pas déjà créés, alors il me les crée ou que si l'onglet est déjà créé alors il l'efface pour réécrire par dessus au moment ou j'active la macro. Actuellement je suis obligé de les créer manuellement au préalable sinon la copie ne fonctionne pas.

3- je souhaiterais ne pas réécrire dans le code à chaque fois tous les mois de l'année. Comment lui faire dire de me copier tous les onglets des mois de l'année de "personnel2.xlsx" ? Qu'ils soient déjà créés ou pas encore puis de les copier dans le fichier "personnel.xlsm".

Je vous remercie par avance pour votre aide qui me sera très précieuse.

Bonjour guibs,

Un essai :

16personnel-b.xlsm (41.37 Ko)

Bizz

Bonjour Bizz,

Désolé pour le contretemps. Pour moi cela fonctionne parfaitement. Je te remercie pour l'aide que tu m'as apportée

Bizz

Rechercher des sujets similaires à "recuperer donnees fichier personnel2 copier personnel"