aide sur macro

fenec

XLDnaute Impliqué
Bonsoir le forum
Encore besoin de vous
J’utilise cette macro qu’un xld ma suggéré et qui fonctionne très bien, le problème est que je ne parviens pas à ce que le fichier trouvé se ferme automatiquement
Je désirerais qu’il se ferme tout seul plutôt que de devoir le fermer manuellement

Cordialement

Fenec

Sub Editer_Facture() 'Editer Facture
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Dim Recf, Compar, Y, Msg
Set Recf = Application.FileSearch
With Recf
Compar = InputBox("Fichiers dont le nom commence par :" & _
Chr(13) & "(saisissez * pour obtenir tous les " & _
"classeurs du répertoire)", "Classeurs commençant par...")
If Compar <> "" Then
.LookIn = "C:\Users\Philippe\Documents\Archives\Bon de Commande"
.Filename = Compar & "*.*"
If .Execute > 0 Then
MsgBox .FoundFiles.Count & " fichier(s) trouvé(s)."
For Y = 1 To .FoundFiles.Count
If MsgBox("Voulez-vous ouvrir " & _
.FoundFiles(Y), vbYesNo) = vbYes Then
Workbooks.Open (.FoundFiles(Y))
End If
Next Y
Else
Msg = MsgBox("Aucun fichier correspondant à la " & _
"recherche.", , "Désolé...")
End If
End If
End With
Range("E13:E17,I15,C21:C36,E21:E36,G21:G36,H21:H36,I38:I39,H41:H42,H44:H45").Select
For Each cel In Selection
cel.Copy
Windows("VF Menuiserie.xls").Activate
Sheets("Facture").Select
Range(cel.Address).Select
ActiveSheet.Paste
Next cel
Range("K13").Select
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
 

RENAUDER

Nous a quitté
Repose en paix
Re : aide sur macro

Bonjour,

Il faut mettre dans une variable le nom du fichier trouvé et à la fin de la procédure pour fermer le fichier trouvé...

Code:
 ' Activer le classeur trouvé
Windows(Mavariable).Activate
ActiveWorkBook.close savechanges:=True
 

Victor21

XLDnaute Barbatruc
Re : aide sur macro

Bonjour, fenec, flyonets44, Eric et Joyeux Noël !

Pour plus d'infos sur les balises BB, permettant une lecture plus agréable du code publié, vous pouvez cliquer ici.

Et/ou utiliser celle-ci : [noparse]
VB:
LeCode
[/noparse]
 
Dernière édition:

fenec

XLDnaute Impliqué
Re : aide sur macro

re, et merci Renauder
viens de rajouter ton bout de code en fin de ma macro mais sa bloque sur

Windows(Mavariable).Activate

l'ai rajouté comme ceci

Sub Editer_Facture() 'Editer Facture
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Dim Recf, Compar, Y, Msg
Set Recf = Application.FileSearch
With Recf
Compar = InputBox("Fichiers dont le nom commence par :" & _
Chr(13) & "(saisissez * pour obtenir tous les " & _
"classeurs du répertoire)", "Classeurs commençant par...")
If Compar <> "" Then
.LookIn = "C:\Users\Philippe\Documents\Archives\Bon de Commande"
.Filename = Compar & "*.*"
If .Execute > 0 Then
MsgBox .FoundFiles.Count & " fichier(s) trouvé(s)."
For Y = 1 To .FoundFiles.Count
If MsgBox("Voulez-vous ouvrir " & _
.FoundFiles(Y), vbYesNo) = vbYes Then
Workbooks.Open (.FoundFiles(Y))
End If
Next Y
Else
Msg = MsgBox("Aucun fichier correspondant à la " & _
"recherche.", , "Désolé...")
End If
End If
End With
Range("E13:E17,I15,C21:C36,E21:E36,G21:G36,H21:H36 ,I38:I39,H41:H42,H44:H45").Select
For Each cel In Selection
cel.Copy
Windows("VF Menuiserie.xls").Activate
Sheets("Facture").Select
Range(cel.Address).Select
ActiveSheet.Paste
Next cel
Range("K13").Select
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True

' Activer le classeur trouvé
Windows(Mavariable).Activate
ActiveWorkBook.close savechanges:=True
End Sub
 

RENAUDER

Nous a quitté
Repose en paix
Re : aide sur macro

Bonjour,
Ajoute la ligne en rouge
If MsgBox("Voulez-vous ouvrir " & _
.FoundFiles(Y), vbYesNo) = vbYes Then
Workbooks.Open (.FoundFiles(Y))
MaVariable = ActiveWorkbook.Name
End If

et à la fin du code...
Code:
' Activer le classeur trouvé
 Windows(Mavariable).Activate
 ActiveWorkBook.close savechanges:=True
 End Sub
 

YANN-56

XLDnaute Barbatruc
Re : aide sur macro

Bonsoir à tous,

Je n'ai pas tout lu, mais j'aurais tenté:

Code:
Dim CLASSEURS_OUVERTS As Workbook
  For Each CLASSEURS_OUVERTS In Workbooks
     If CLASSEURS_OUVERTS.Name <> ThisWorkbook.Name Then
     CLASSEURS_OUVERTS.Save
     CLASSEURS_OUVERTS.Close True
     End If
  Next

Amicalement, avec mes meilleurs vœux.

Yann
 

Discussions similaires

Réponses
2
Affichages
171

Statistiques des forums

Discussions
312 390
Messages
2 087 951
Membres
103 683
dernier inscrit
Cescodelvar