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

  • Initiateur de la discussion Initiateur de la discussion Miishiru
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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 ?
 
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
 
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

Dernière modification par un modérateur:
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:
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
 
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"
 
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
 
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

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 ??!!
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour