Bonjour!
Tout marche très bien, merci!
Quelques difficultés dans le fignolage toutefois...
J'essaye de rendre automatique la macro à l'ouverture de la bse.
Je l'ai donc copié dans 'This workbook & workbook open.
Mais la macro se lance mais ne réussit pas à aller chercher les infos. Mais les message box apparaissent bien pourtant (=certitude que la macro se lance)
Quelqu'un aurait une idée du pourquoi ca ne fonctionne pas?
merci encore
Voici la macro :
Private Sub Workbook_Open()
Dim J As Long
Dim Chemin As String, Fichier As String
Dim Ws As Worksheet
Application.ScreenUpdating = False
Chemin = "D:\DATA\Missions\"
Set Ws = Sheets("BD_2014")
MsgBox "Mise à jour de la base, veuillez patienter."
For J = 3 To Ws.Range("F" & Rows.Count).End(xlUp).Row
Debug.Print Chemin & Ws.Range("F" & J) & "_*_*_*_" & Ws.Range("A" & J) & ".xlsm"
Fichier = Dir(Chemin & Ws.Range("F" & J) & "_*_*_*_" & Ws.Range("A" & J) & ".xlsm")
If Fichier <> "" Then
With Workbooks.Open(Chemin & Fichier)
With Sheets(1)
Ws.Range("B" & J) = .Range("J7") ' Statut de la mission
Ws.Range("C" & J) = .Range("D7") ' Support admin
Ws.Range("D" & J) = .Range("M5") ' Imputation
Ws.Range("H" & J) = .Range("B5") ' Date départ
Ws.Range("I" & J) = .Range("C5") ' Date retour
Ws.Range("M" & J) = .Range("H13") ' Objet de la mission
Ws.Range("N" & J) = .Range("F33") & " " & .Range("F34") ' Hôtel
Ws.Range("P" & J) = .Range("G10") ' N° de passeport
Ws.Range("Q" & J) = .Range("B11") ' N° de téléphone
Ws.Range("R" & J) = .Range("F5") ' Entité de rattachement
Ws.Range("S" & J) = .Range("J5") ' Entité d'affectation
End With
.Close savechanges:=False
End With
End If
Next J
MsgBox "Terminé"
End Sub