Importer feuille depuis un classeur dont le nom commence par 73

Francois73

XLDnaute Occasionnel
bonjour le forum

encore un petit soucis , je cherche un importer des feuilles (d(un classeur B) depuis un classeur A
le nom du classeur B change car il est issu d'une macro qui me le crée, le seul élément fixe dans le nom ce sont les deux premiers caracrères qui sont "73"

merci de votre aide
 

ChTi160

XLDnaute Barbatruc
Re : Importer feuille depuis un classeur dont le nom commence par 73

Bonjour Francois73
Bonjour le Fil
Bonjour Le Forum
peut être en mettant dans la boucle de recherche via le Nom un truc du Genre :
Pour Chaque Classeur du Dossier , Si le Nom Contient 73 et des Lettres derrières Soit
If WorkBook.Name Like "73*" Then
pas facile sans Fichier ......
Bonne Journée
Amicalement
Jean Marie
 
Dernière édition:

Francois73

XLDnaute Occasionnel
Re : Importer feuille depuis un classeur dont le nom commence par 73

oui effectivement j'aurais du mettre le fichier source , en faite le nom commence par 73 suivi de 6 chiffres qui change puis un blanc et une date
 

Pièces jointes

  • 73024037 26072012.xlsx
    50.3 KB · Affichages: 36

Francois73

XLDnaute Occasionnel
Re : Importer feuille depuis un classeur dont le nom commence par 73

j'ai oublié de spécifier que le classeur A et le classeur b(commençant par 73) sont dans le même dossier et que dans ce dossier il n'y a qu'un seul classeur b , mais comme préciser auparavant je ne peux pas connaitre son nom à l'avance sauf qu'il commence par 73

merci
 

Francois73

XLDnaute Occasionnel
Re : Importer feuille depuis un classeur dont le nom commence par 73

j'ai tenté sans avoir réussi, j'ai récupérer un bout de code que j'ai tenté d'adapter mais cela ne fonctionne pas

Sub Macro1()
'
' Macro1 Macro
'
Dim SourceWkb As Workbook, DestWkb As Workbook, Ws As Worksheet
Set DestWkb = ThisWorkbook
If Workbook.Name Like "73*" Then
Set SourceWkb = Workbooks.Open(Filename:="C:\Users\courbois_f\Documents\ECRITURE EXCEL LACTO\derniere version") 'On ouvre le fichier source
' On copie les feuilles du fichier source
For Each Ws In SourceWkb.Worksheets
Ws.Copy after:=DestWkb.Worksheets(DestWkb.Worksheets.Count)
Next
SourceWkb.Close False
End If
End Sub

merci de votre aide
 

Francois73

XLDnaute Occasionnel
Re : Importer feuille depuis un classeur dont le nom commence par 73

bonjour le forum
j'ai réussi à ouvrir le fameux fichier qui commence par 73, j'en importe une feuille jusque là tout va bien
par contre j'aimerais qu'une fois cette opération terminée la macro me ferme ce fichier commençant par 73

dans mon code c'est la ligne
wb.close qui coince

ci dessous mon code
Sub copicheptel()
'

'
Workbooks.Open Filename:= _
ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\" & "73*")
Sheets("cheptel").Select
Sheets("cheptel").Copy After:=Workbooks( _
"modele tri aprés contrôle siegev4.xlsm").Sheets(1)
Sheets("cheptel").Select
Range("A1").Select
wb.Close
End Sub

je joints les fichier
avec fichier contenant la macro d'importation ("modele tri après contrôle v4)
et le fichier dans lequel je vais chercher la feuille ( 73112007 15052013)

merci de votre aide
 

Pièces jointes

  • 73112007 15052013.xlsx
    29.2 KB · Affichages: 31
  • modele tri aprés contrôle siegev4.xlsm
    17.7 KB · Affichages: 17

Francois73

XLDnaute Occasionnel
Re : Importer feuille depuis un classeur dont le nom commence par 73

j'ai trouvé

voici le code pour celui que ça intéresse

Sub fermer73()
Dim fi As Workbook 'déclare la variable fi (FIchhier)

For Each fi In Workbooks 'boucle sur tous les fichiers ouverts
'si les 2 premières lettre du nom du fichier (converties en majuscule) = "73". ferme le fichier
If UCase(Left(fi.Name, 2)) = "73" Then fi.Close
Next fi 'prochain fichier de la boucle
End Sub

merci
 

ChTi160

XLDnaute Barbatruc
Re : Importer feuille depuis un classeur dont le nom commence par 73

Bonjour Francois73
Bonjour le fil
Bonjour le forum

on pourrait aussi faire ainsi
VB:
Sub copicheptel()
Dim Wb As Workbook
Application.ScreenUpdating = False
'
Set Wb = Workbooks.Open(Filename:= _
ThisWorkbook.Path & "\" & Dir(ThisWorkbook.Path & "\" & "73*")) 'on affecte le Fichier trouvé dans la variable
With Sheets("cheptel")  'avec la feuille ""cheptel"" de ce fichier
.Activate 'on active la feuille ""cheptel"" de ce fichier
.Copy After:=Workbooks( _
"modele tri aprés contrôle siegev4.xlsm").Sheets(1) 'on la copie apres la feuille 1
End With
Wb.Close
ActiveSheet.Range("A1").Select 'on selectionne la cellule A1
Application.ScreenUpdating = True
End Sub

j'ai modifié la procédure j'ai mis (Ws en Wb)
Bonne journée
Amicalement
Jean Marie
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 455
Membres
103 546
dernier inscrit
mohamed tano