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:
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas