Copier un onglet d'un autre classeur sans l'ouvrir

Miishiru

XLDnaute Nouveau
Bonjour,
J'essaye d'extraire un onglet d'un autre classeur sans pouvoir l'ouvrir.
Le nom du fichier où il doit extraire l'onglet change tout les jours car son nom est la date du jour.

J'ai écrit le code ci-dessous mais cela ne fonctionne pas, je ne comprend pas pourquoi ?
Pouvez vous m'aider ?

Sub TestOuverturedichier()

Dim principal As ThisWorkbook
Dim repertoire As String, fichier$
Application.ScreenUpdating = False
Set principal = ThisWorkbook
repertoire = "Z:\MA\PRODUCTION\inv picking\" & dayYear
Dim fileDate As Date
Dim nbfichier As Integer
nbfichier = 0
Do While fichier <> ""
fileDate = FileDateTime(repertoire & fichier)
Dim dat As String
dat = Format(Date, "dddd")
If dat = "samedi" Then
If DateValue(fileDate) = Date - 1 Then
Workbooks.Open (repertoire & fichier), local:=True
ActiveSheet.UsedRange.Copy Destination:=principal.Sheets("Stock").Range("A" & 65536).End(xlUp).Offset(1)
ActiveWorkbook.Close
nbfichier = nbfichier + 1
End If
Else
If DateValue(fileDate) = Date Then
Workbooks.Open (repertoire & fichier), local:=True
ActiveSheet.UsedRange.Copy Destination:=principal.Sheets("Stock").Range("A" & 65536).End(xlUp).Offset(1)
ActiveWorkbook.Close
nbfichier = nbfichier + 1
End If
End If
fichier = Dir()
Loop

End Sub
 

Miishiru

XLDnaute Nouveau
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Es ce que c'est possible que c'est parceque j'ai pas notifié que c'est la date du jour que je veux qu'il aille chercher ?
C'est à dire : Z:\MA\PRODUCTION\inv picking\" & dayYear soit le Z:\MA\PRODUCTION\inv picking\20160616 par exemple pour chercher celui d'aujourd'hui?
Si oui, comment faire pour notifier cela ?
 

CISCO

XLDnaute Barbatruc
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Bonjour

Bah ca me dit rien...
Ca ne copie tout simplement pas le fichier

Il faut passer par Développeur, Macro, Pas à pas détaillé pour essayer de trouver la ligne où cela bloque.

En promenant la souris près des variables sur le code, certaines valeurs sont affichées. On peut ainsi parfois trouver l'origine d'un problème.

Dans ton cas, cela serait bien par ex d'avoir l'intitulé exact de ton fichier, et ce que donne la macro.

@ plus
 

Miishiru

XLDnaute Nouveau
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Bonjour,
Je vous mets en PJ le fichier ...
Le fichier où il doit chercher l'onglet pour le copier change de nom tout le jours car il prend le nom de la date "yyyymmjj" est le chemin où aller le chercher est Z:\MA\PRODUCTION\inv picking\"nom du fichier"
 

Pièces jointes

  • Surplus a vendre.xlsm
    38.8 KB · Affichages: 43
Dernière modification par un modérateur:

CISCO

XLDnaute Barbatruc
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Bonjour

DayYear reste vide dans
Code:
repertoire = "Z:\MA\PRODUCTION\inv picking\" & dayYear
donc le nom du fichier transmis à la macro n'est pas correct. Il faut faire avec une autre syntaxe, date ou autre...
Regarde ma proposition sur ce fil, mais avec une date au format jj/mm/aa ou in english dd/mm/yy.

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Bonsoir

Le code
Code:
repertoire = "Z:\MA\PRODUCTION\inv picking\" & Format(Date, "yyyymmdd")
renvoie Répertoire.JPG

@ plus
 

Miishiru

XLDnaute Nouveau
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Cela ne fonctionne pas ...
Ça m’exécute correctement ma procédure mais ça ne copie rien ....
Es ce que c'est ma procédure qui est mal écrite?
Je veux copier l'onglet " Stock" qui se trouve dans le classeur qui se trouve : "Z:\MA\PRODUCTION\inv picking\" & Format(Date, "yyyymmdd") dans l'onglet de mon fichier qui s'appelle également "Stock"
 

CISCO

XLDnaute Barbatruc
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Bpnjour

Comme déja dit, il faut exécuter la macro en pas à pas détaillé, en progressant avec F8, pour essayer de trouver les résultats ne convenant pas. Je regarderai plus tard ton code, mais sans les deux fichiers...

@ plus
 

Miishiru

XLDnaute Nouveau
Re : Copier un onglet d'un autre classeur sans l'ouvrir

J'ai essayé mais il me dit strictement rien du tout , mais ne copie pas la feuille ...
Je vous met le fichier " Surplus a vendre" sur lequel je travaille & le fichier du jour qui se trouve dans le lien que je vous ai indiqué précédamment
Merci pour votre aide
 

Pièces jointes

  • Surplus a vendre.xlsm
    49.6 KB · Affichages: 46
  • 20160617.xls
    224 KB · Affichages: 50

Miishiru

XLDnaute Nouveau
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Re Bonjour,
J'ai essayé de chercher sur internet une autre formule et j'ai trouvé cela :
Sub Copiefichierstock()
Var_Chemin = "Z:\MA\PRODUCTION\inv picking\2016\" & Format(Date, "yyyymmdd") & ".xls"
Fichier1 = ActiveWorkbook.Name
Workbooks.Open Var_Chemin, 0, ReadOnly:=False
Fichier2 = ActiveWorkbook.Name
Workbooks(Fichier1).Sheets("Stock").Copy Before:=Workbooks(Fichier2).Sheets("Stock")
Call RechercheV_Articletest
End Sub

Ca ouvre bien le fichier mais ca m'affiche ce message : Sans titre.png
Que faire ??!!
 

CISCO

XLDnaute Barbatruc
Re : Copier un onglet d'un autre classeur sans l'ouvrir

Bonjour

J'ai déjà eu ce genre de message lorsqu'il y avait des formules fusionnées à copier d'un endroit vers un autre.

@ plus
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
120

Statistiques des forums

Discussions
312 305
Messages
2 087 087
Membres
103 461
dernier inscrit
dams94