• Initiateur de la discussion Initiateur de la discussion fenec
  • 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 !

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

Réponses
5
Affichages
237
Réponses
7
Affichages
163
Réponses
4
Affichages
243
Réponses
2
Affichages
330
Retour