Boite de dialogue

bonjour,

est t il possible dans la macro ci dessous de selectionner le fichier par une boite de dialogue.

donc remplacer l'instruction activeworkbook par le fichier xls selectionné dans cette boite.

ActiveWorkbook.Sheets(1).Copy before:=Workbooks("essai .xls").Sheets(1)

If Err.Number = 0 Then

ActiveSheet.Name = "b"

Else

ActiveSheet.Name = "b"

End If

cordialement

Bonjour

Une méthode (pouvant être améliorée)

Option Explicit

Sub Ouverture()
Dim Fichier As Variant
Dim WbkA As String        ' Nom de ce fichier
Dim WbkB As String        ' Nom du fichier ouvert

  WbkA = ThisWorkbook.Name

  Fichier = Application.GetOpenFilename("Fichier XLSX (*.xlsx),*.xlsx")
  If Fichier = False Then Exit Sub        ' pas de fichier on quitte
  'Il y a un fichier donc on traite
  Application.ScreenUpdating = False      ' Masque le rafraîchissement écran
  Workbooks.Open Filename:=Fichier        ' Ouverture du fichier
  WbkB = ActiveWorkbook.Name              ' Récupère le nom du fichier
  ' Copie de la page 1 du classeur ouvert dans le classeur principal
  Workbooks(WbkB).Sheets(1).Copy before:=Workbooks(WbkA).Sheets(1)
  ' ?????????????????????????
  If Err.Number = 0 Then
    ActiveSheet.Name = "b"
  Else
    ActiveSheet.Name = "b"
  End If
  ' ?????????????????????????
  Workbooks(WbkB).Close savechanges:=False
End Sub

merci banzaï

cela fonctionne bien et la piste est très intéressante !

aller pour faire la fine bouche

peut on préselectionner un dossier dans la boite de dialogue genre C:\Users\yoda\Desktop\essai\

le plus souvent les fichier voulus seront dans celui ci

cordialement

Bonjour

Essayes en utilisant Chdir

  WbkA = ThisWorkbook.Name
  ChDir "C:\Users\yoda\Desktop\essai"
  Fichier = Application.GetOpenFilename("Fichier XLSX (*.xlsx),*.xlsx")
  If Fichier = False Then Exit Sub        ' pas de fichier on quitte

merci

c'est parfait, c'est vrai que je n'ai pas ton niveau , mais celle ci j'aurais dû la trouver seul !!

merci encore banzaï

Rechercher des sujets similaires à "boite dialogue"