Macro qui copie des données d'une feuille vers autre Excel
j
Bonjour,
Je travaille sur une macro dont l'objectif est d'extraire des données (bien choisies) d'autres fichiers Excel afin de les coller vers un seul et même fichier, seulement à chaque blocs de données prélevés je dois coller celles-ci dans 2 onglets différents.
Le problème : impossible d'effectuer la deuxième copie pour chacune des extractions de données !
Voici le code vba : ici je ne donne qu'un exemple de feuille copiée et le fichier excel "PRODEL" est ouvert par un lien
Sub mise_a_jour()
Sheets("Database").Select
Range("A3:U1048575").Select
Range("U1048575").Activate
Selection.ClearContents
Dim l_dt_dateMin As Date
Dim l_dt_dateMax As Date
Dim l_l_derniereLigne As Long
Dim l_t_memErr As ERR_Mem 'variable utilisée pour la gestion d'erreur
On Error GoTo GestErr
l_l_derniereLigne = 1097
Application.DisplayAlerts = False
Application.ScreenUpdating = False
frmSelectWeek.Show
If frmSelectWeek.txtCanceled.Text = "1" Then Exit Sub
If Len(frmSelectWeek.txtDateMin.Text) > 0 And Len(frmSelectWeek.txtDateMax) > 0 Then
l_dt_dateMin = frmSelectWeek.txtDateMin.Text
l_dt_dateMax = frmSelectWeek.txtDateMax.Text
Else
MsgBox "La date minimum et/ou la date maximum n'ont pas été sélectionnée dans le formulaire."
Exit Sub
End If
If verifDejaImporte(l_dt_dateMin, l_dt_dateMax) = True Then
Call supprimeDonneesAnterieures(l_dt_dateMin, l_dt_dateMax)
End If
ThisWorkbook.Sheets(C_S_ONGLET_GRAPHMAJ).Visible = True
ThisWorkbook.Sheets(C_S_ONGLET_GRAPHMAJ).Select
' PRODEL
l_s_chemin = chercheChemin("PRODEL")
If l_s_chemin <> "" Then
Call afficheGraph("PRODEL", 40)
l_s_fichier = ouvreFichierXLS(l_s_chemin)
If l_s_fichier <> "" Then
l_s_plageSource = "D3:Q" & l_l_derniereLigne & ",S3:S" & l_l_derniereLigne & ",X3:X" & l_l_derniereLigne & ",AA3:AA" & l_l_derniereLigne
l_s_ongletCible = "PRODEL"
l_s_plageCible = "C3:S" & l_l_derniereLigne
copie = copyfileToIlot(l_s_fichier, l_s_ongletCible, l_s_plageSource, l_s_plageCible)
If copie = False Then
MsgBox "Un problème est survenue durant la copie du fichier " & l_s_fichier & " dans l'onglet d'ilot"
Else
copieDB = copyfileToDB(l_s_fichier, l_s_ongletCible, l_dt_dateMin, l_dt_dateMax) 'c'est cette copie qui ne s'effectue pas vers la feuille database !!!!
If copieDB = False Then MsgBox "Un problème est survenue durant la copie du fichier " & l_s_fichier & " dans la database"
End If
closeFile (l_s_fichier)
End If
Else
MsgBox "Chemin non trouvé pour le fichier 'PRODEL'"
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Call afficheGraph("Intégrité Database", 94)
Call verifieIntegriteDatabase
Call afficheGraph("Recherche anomalies", 96)
Call effaceAnomaliesTRS
Call chercheAnomaliesTRS
ActiveWorkbook.RefreshAll
Call afficheGraph("Terminé", 100)
GestFin:
On Error Resume Next
'code de fermeture
If l_t_memErr.Raised Then 'si une erreur est survenue, l'afficher
MsgBox "Une erreur est survenue :" & vbNewLine & _
" > Source : '" & l_t_memErr.Source & "'" & vbNewLine & _
" > Description : " & l_t_memErr.Description, vbCritical, "Erreur"
End If
Exit Sub
GestErr:
l_t_memErr = StoreErrInfo(Err, "Mod_MAJ.mise_a_jour")
Resume GestFin
End SubMerci d'avance pour vos conseils