fenec
XLDnaute Impliqué
Bonjour le forum,
Venant de passer d'office 2003 à office 2016, je rencontre un problème avec une macro que j'utilise depuis une dizaine d'année.
En effet en cherchant sur le net le pourquoi, j'ai lu que "Filesearch" n'est plus pris en compte sur excel 2016.
C'est donc le but de ma demande car je ne parviens pas à modifier mon code pour qu'il fonctionne à nouveau.
J'ai cru comprendre qu'il fallait utiliser "fso" mais la je coince d'où besoin de votre aide sur ce point.
Voici le code en question:
	
	
	
	
	
		
Merci d'avance pour l'aide que je vous pourriez m'apporter pour modifier ce code.
Cordialement,
Philippe.
	
		
			
		
		
	
				
			Venant de passer d'office 2003 à office 2016, je rencontre un problème avec une macro que j'utilise depuis une dizaine d'année.
En effet en cherchant sur le net le pourquoi, j'ai lu que "Filesearch" n'est plus pris en compte sur excel 2016.
C'est donc le but de ma demande car je ne parviens pas à modifier mon code pour qu'il fonctionne à nouveau.
J'ai cru comprendre qu'il fallait utiliser "fso" mais la je coince d'où besoin de votre aide sur ce point.
Voici le code en question:
		VB:
	
	
	Sub Editer_BdC()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ActiveSheet.Unprotect Password:="1012"
      
Range("O3") = (1 + CInt(Range("O3"))) Mod 2
    For Each Shp In ActiveSheet.Shapes
    If InStr(Shp.Name, "Bon de commande") Then
    Shp.Visible = Range("O3") = 1
    Next Shp
    
Dim Recf, Compar, Y, Msg
On Error GoTo Fin
    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\Mes documents\Archives\Devis"
    .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))
        mavariable = ActiveWorkbook.Name
        End If
    Next Y
    Else
    Msg = MsgBox("Aucun fichier correspondant à la " & _
"recherche.", , "Désolé...")
Fin:  MontrerMasquer
    Exit Sub
 End If
 End If
 End With
    Range("E14:E18,I16:I17,C21:C34,E21:E34,G21:G34,G37,H21:H34,I36,H39:H40,H42:H43,H46").Select
 
  For Each cel In Selection
  cel.Copy
  Windows("FC M Isolation 2.0.xls").Activate
  Sheets("Devis - BdC").Select
  Range(cel.Address).Select
  ActiveSheet.Paste
  Next cel
 
  Range("I14").Select
  Windows(mavariable).Activate
  ActiveWorkbook.Close Savechanges:=True
 
ActiveSheet.Protect Password:="1012"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
	Cordialement,
Philippe.