XL 2010 exporter onglet dans classeur fermé

mix770

XLDnaute Occasionnel
re bonjour,

je recommence à zéro.

j'ai la macro suivante qui fonctionne quand les 2 classeurs sont ouverts, cela copie l'onglet.

Sub Copie_feuille_resultats_janvier()
Sheets("resultats_janvier").Select
Sheets("resultats_janvier").Copy After:=Workbooks("collecte_AA").Sheets(1)
End Sub

j'essaie modifier pour qu'il fasse la même chose sans ouvrir le classeur et cela bloque sur:

Workbooks("D:\Applis\Bordereau présence Exploitation\Collecte_Résultats_Exploitation\collecte_AA.xlsx").Activate

je tourne en rond depuis hier et cela me rend GRRRR


Sub Copie_feuille_resultats_janvier()
Sheets("resultats_janvier").Select
Workbooks("D:\Applis\Bordereau présence Exploitation\Collecte_Résultats_Exploitation\collecte_AA.xlsx").Activate
Sheets("resultats_janvier").Copy After:=Workbooks("collecte_AA").Sheets(1)
ActiveWindow.Close
ThisWorkbook.Activate: Range("A1").Select
End Sub

si quelqu'un a une idée

merci à vous
 

Lone-wolf

XLDnaute Barbatruc
Bonjour mix

Essaie comme ceci, à adapter

VB:
Sub Copie_Donnees()   'Dans classeur fermé

  Application.ScreenUpdating = False

  [A2:I30].ClearContents

  On Error Resume Next

  With [A2:I30]
  .Formula = "='C:\Users\TOTO\Desktop\[XLC_Source]Feuil6'!A1:I30"
  .AutoFill [A2:I30]
  .Value = .Value
  End With

End Sub
 

mix770

XLDnaute Occasionnel
bonjour Lone-wolf,
merci de ta réponse

ta macro propose de copier les cellules vers un onglet existant si je comprend bien

cdt
 

Lone-wolf

XLDnaute Barbatruc
Re

Oui, prends l'exemple de la formule. La macro est à mettre dans le classeur de destination.
 
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Bonjour tous,
Une autre façon de faire, attention j'ai pas testé
Bruno
VB:
Sub Copie_feuille_resultats_janvier()
On Error Resume Next 'gère l'error
Sheets("resultats_janvier").Select
Workbooks("collecte_AA.xlsx").Activate
If Err > 0 Then
Err.Clear
chemfich = "D:\Applis\Bordereau présence Exploitation\Collecte_Résultats_Exploitation\collecte_AA.xlsx"
Workbooks.Open chemfich
If Err <> 0 Then MsgBox "fichier non trouvé": Exit Sub
End If
Sheets("resultats_janvier").Copy After:=Workbooks("collecte_AA").Sheets(1)
Workbooks("collecte_AA").Save
Workbooks("collecte_AA").Close
ThisWorkbook.Activate: Range("A1").Select
End Sub
 

mix770

XLDnaute Occasionnel
re,
comme la macro est à mettre dans le fichier de destination, le chemin indiqué doit être celui de la source ?
 

youky(BJ)

XLDnaute Barbatruc
Excuse moi Lone-Wolf de ne t'avoir hier salué, j'avais abrégé mon message par obligation.(me fallait couper)
C'est maintenant rectifié. . . .
Petite explication pour mix770 de mon code
on gère les erreurs, on essaie d'activer le fichier, si il est fermé cela fait une erreur alors on l'ouvre
Bruno
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Bruno :), mix(age :D) :), le Forum.

@mix: oui, "='C:\Users\TOTO\Desktop\[XLC_Source]Feuil6'!A1:I30", c'est le chemin du classeur source.
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le foorum

@Loup Solo
Sans l'autofill, le résultat est le même, non ?
ou alors j'ai pas compris un truc

VB:
Sub Copie_Donnees_B()   'Dans classeur fermé
Dim f$
Application.ScreenUpdating = False
'j'ai remplacé la formule par une formule de test pour tester sur mon PC
'donc remettre la vraie formule pour tester en situation réelle
f = "=INT(ROUND(COLUMN()/(ROW()-1.600),2)*TODAY())"
On Error Resume Next
With [A2:I30]
    .Formula = f: .Value = .Value
End With
End Sub
 
Dernière édition:

mix770

XLDnaute Occasionnel
Bonjour Staple 1600,

merci pour ton intervention et merci à tous.
je patauge je vais craquer !!

mon fils a besoin de moi, je reviens
 

youky(BJ)

XLDnaute Barbatruc
RE Bonjour à tous,
Cette fois je viens de testé et corrigé ma macro que voici.
Bruno
VB:
Sub Copie_feuille_resultats_janvier()
On Error Resume Next 'gère l'error
Sheets("resultats_janvier").Select
Workbooks("collecte_AA.xlsx").Activate
If Err > 0 Then
Err.Clear
chemfich = "D:\Applis\Bordereau présence Exploitation\Collecte_Résultats_Exploitation\collecte_AA.xlsx"
Workbooks.Open chemfich
If Err <> 0 Then MsgBox "fichier non trouvé": Exit Sub
End If
ThisWorkbook.Sheets("resultats_janvier").Copy After:=Workbooks("collecte_AA.xlsx").Sheets(1)
Workbooks("collecte_AA.xlsx").Save
Workbooks("collecte_AA.xlsx").Close
ThisWorkbook.Activate: Range("A1").Select
End Sub
 

mix770

XLDnaute Occasionnel
merci les gars,
je reprends tout a l'heure avec ta proposition
merci encore
je vais y arriver
merci beaucoup
 

Lone-wolf

XLDnaute Barbatruc
Re Bruno

If Err > 0 Then et If Err <> 0 Then, ce n'est pas la même chose? . If Err <> 0 Then n'est pas en trop? :rolleyes:
 

Discussions similaires


Haut Bas