Deuxième classeur reste au second plan à l'ouverture
Bonjour le forum,
Peut on ouvrir un deuxième classeur en faisant en sorte que ce deuxième classeur reste au second plan à l'ouverture ?
Merci
Bonsoir,
dans le code d'ouverture du deuxième fichier vous pouvez ajouter :
Windows("Prem_Class.xlsm").Activateoù Prem_Class est le nom du classeur que vous voulez avoir au premier plan.
En fait je n'ai pas testé...
Donc à voir si ça marche...
@ bientôt
LouReeD
Bonjour, Salut LouReed,
Ça marche toujours LouReed !
Cordialement.
Bonjour LouReeD, bonjour MFerrand,
J'ai essayer le code
Windows("Prem_Class.xlsm").Activatemais malheureusement ça ne fonctionne pas.
Active le classeur plutôt que la fenêtre !
Et pourquoi tu veux l'activer d'abord ? Ça va servir à quoi ?
MFerrand a écrit :Active le classeur plutôt que la fenêtre !
J'ai déjà essayé en activant le classeur mais ça ne fonctionne pas non plus.
MFerrand a écrit :Et pourquoi tu veux l'activer d'abord ? Ça va servir à quoi ?
Je cherche à récupérer certaines données.
Sub Importer()
Dim Wb As Workbook
Dim IrowPL%, IrowRens%, IrowRéc%, iRowS%, iRowBDD%, iRowVSA%, iRowBDD2%, iRowS2%, iRowVSA2%, iRowPL2%, IrowRens2%, IrowRéc2%
'On test le réseau
If Len(Dir("C:\Users\benoi\Desktop\Mon Planning.xlsm")) = 0 Then
'Si pas de réseau
MsgBox "Causes: " & vbLf & vbLf & "*Problème de réseau " & vbLf & "*Le fichier n'est plus à son emplacement ", vbExclamation, "Mise à jour impossible"
Else
Application.ScreenUpdating = False
Sheets("PlanningOPS").Unprotect
'On test si le classeur est ouvert
For Each Wb In Workbooks
'Si le classeur est ouvert
If Wb.Name = "Mon Planning.xlsm" Then ' Respectes Minuscules/Majuscules
With Wb
IrowPL = .Sheets("Planning").Cells(Rows.Count, 50).End(xlUp).Row
IrowRens = .Sheets("Renseignement").Cells(Rows.Count, 2).End(xlUp).Row
IrowRéc = .Sheets("Récap").Cells(Rows.Count, 2).End(xlUp).Row
iRowS = .Sheets("SAVE").Cells(Rows.Count, 2).End(xlUp).Row
iRowBDD = .Sheets("BDD").Cells(Rows.Count, 2).End(xlUp).Row
iRowVSA = .Sheets("VSA").Cells(Rows.Count, 2).End(xlUp).Row
End With
With Workbooks("PlanningOPS5.xlsm")
iRowPL2 = .Sheets("PlanningOPS").Cells(Rows.Count, 50).End(xlUp).Row
IrowRens2 = .Sheets("RenseignementOPS").Cells(Rows.Count, 2).End(xlUp).Row
IrowRéc2 = .Sheets("RécapOPS").Cells(Rows.Count, 2).End(xlUp).Row
iRowS2 = .Sheets("SAVEOPS").Cells(Rows.Count, 2).End(xlUp).Row
iRowBDD2 = .Sheets("BDDOPS").Cells(Rows.Count, 2).End(xlUp).Row
iRowVSA2 = .Sheets("VSAOPS").Cells(Rows.Count, 2).End(xlUp).Row
.Sheets("PlanningOPS").Range("D9:D" & iRowPL2 + 4).EntireRow.Delete
.Sheets("PlanningOPS").Range("D9:D" & IrowPL).Value = Workbooks("Mon Planning.xlsm").Sheets("Planning").Range("D9:D" & IrowPL).Value
.Sheets("PlanningOPS").Range("AX9:AX" & IrowPL).Value = Workbooks("Mon Planning.xlsm").Sheets("Planning").Range("AX9:AX" & IrowPL).Value
.Sheets("PlanningOPS").Range("D9:D" & IrowPL).Borders.Weight = xlThin
.Sheets("RenseignementOPS").Range("C4:N" & IrowRens - 1).Value = Workbooks("Mon Planning.xlsm").Sheets("Renseignement").Range("B5:M" & IrowRens).Value
.Sheets("RenseignementOPS").Range("C4:N" & IrowRens - 1).Borders.Weight = xlThin
.Sheets("RécapOPS").Range("C7:O" & IrowRéc).Value = Workbooks("Mon Planning.xlsm").Sheets("Récap").Range("B7:N" & IrowRéc).Value
.Sheets("RécapOPS").Range("C7:O" & IrowRéc).Borders.Weight = xlThin
.Sheets("SAVEOPS").Range("A3:A" & iRowS2).EntireRow.Delete
.Sheets("SAVEOPS").Range("B2:E2").ClearContents
.Sheets("SAVEOPS").Range("B2:E" & iRowS).Value = Workbooks("Mon Planning.xlsm").Sheets("SAVE").Range("B2:E" & iRowS).Value
.Sheets("BDDOPS").Range("A3:A" & iRowBDD2).EntireRow.Delete
.Sheets("BDDOPS").Range("A2:D2,F2,J2,O2").ClearContents
.Sheets("BDDOPS").Range("A2:D" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("A2:D" & iRowBDD).Value
.Sheets("BDDOPS").Range("F2:F" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("F2:F" & iRowBDD).Value
.Sheets("BDDOPS").Range("J2:J" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("J2:J" & iRowBDD).Value
.Sheets("BDDOPS").Range("O2:O" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("O2:O" & iRowBDD).Value
'Formule Planning
With .Sheets("PlanningOPS")
.Range("E8:AW8").AutoFill .Range("E8:AW" & IrowPL)
.Range("B8:C8").AutoFill .Range("B8:C" & IrowPL)
.Range("A1").Select
End With
'Formule Récap
With .Sheets("RécapOPS")
.Range("D6:O6").AutoFill .Range("D6:O" & IrowRéc)
End With
End With
Exit For
End If
Next Wb
'Si le fichier est fermé
If Wb Is Nothing Then
Set Wb = Workbooks.Open("C:\Users\benoi\Desktop\Mon Planning.xlsm")
With Wb
IrowPL = .Sheets("Planning").Cells(Rows.Count, 50).End(xlUp).Row
IrowRens = .Sheets("Renseignement").Cells(Rows.Count, 2).End(xlUp).Row
IrowRéc = .Sheets("Récap").Cells(Rows.Count, 2).End(xlUp).Row
iRowS = .Sheets("SAVE").Cells(Rows.Count, 2).End(xlUp).Row
iRowBDD = .Sheets("BDD").Cells(Rows.Count, 2).End(xlUp).Row
iRowVSA = .Sheets("VSA").Cells(Rows.Count, 2).End(xlUp).Row
End With
With Workbooks("PlanningOPS5.xlsm")
iRowPL2 = .Sheets("PlanningOPS").Cells(Rows.Count, 50).End(xlUp).Row
IrowRens2 = .Sheets("RenseignementOPS").Cells(Rows.Count, 2).End(xlUp).Row
IrowRéc2 = .Sheets("RécapOPS").Cells(Rows.Count, 2).End(xlUp).Row
iRowS2 = .Sheets("SAVEOPS").Cells(Rows.Count, 2).End(xlUp).Row
iRowBDD2 = .Sheets("BDDOPS").Cells(Rows.Count, 2).End(xlUp).Row
iRowVSA2 = .Sheets("VSAOPS").Cells(Rows.Count, 2).End(xlUp).Row
.Sheets("PlanningOPS").Range("D9:D" & iRowPL2 + 4).EntireRow.Delete
.Sheets("PlanningOPS").Range("D9:D" & IrowPL).Value = Workbooks("Mon Planning.xlsm").Sheets("Planning").Range("D9:D" & IrowPL).Value
.Sheets("PlanningOPS").Range("AX9:AX" & IrowPL).Value = Workbooks("Mon Planning.xlsm").Sheets("Planning").Range("AX9:AX" & IrowPL).Value
.Sheets("PlanningOPS").Range("D9:D" & IrowPL).Borders.Weight = xlThin
.Sheets("RenseignementOPS").Range("C4:N" & IrowRens - 1).Value = Workbooks("Mon Planning.xlsm").Sheets("Renseignement").Range("B5:M" & IrowRens).Value
.Sheets("RenseignementOPS").Range("C4:N" & IrowRens - 1).Borders.Weight = xlThin
.Sheets("RécapOPS").Range("C7:O" & IrowRéc).Value = Workbooks("Mon Planning.xlsm").Sheets("Récap").Range("B7:N" & IrowRéc).Value
.Sheets("RécapOPS").Range("C7:O" & IrowRéc).Borders.Weight = xlThin
.Sheets("SAVEOPS").Range("A3:A" & iRowS2).EntireRow.Delete
.Sheets("SAVEOPS").Range("B2:E2").ClearContents
.Sheets("SAVEOPS").Range("B2:E" & iRowS).Value = Workbooks("Mon Planning.xlsm").Sheets("SAVE").Range("B2:E" & iRowS).Value
.Sheets("BDDOPS").Range("A3:A" & iRowBDD2).EntireRow.Delete
.Sheets("BDDOPS").Range("A2:D2,F2,J2,O2").ClearContents
.Sheets("BDDOPS").Range("A2:D" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("A2:D" & iRowBDD).Value
.Sheets("BDDOPS").Range("F2:F" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("F2:F" & iRowBDD).Value
.Sheets("BDDOPS").Range("J2:J" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("J2:J" & iRowBDD).Value
.Sheets("BDDOPS").Range("O2:O" & iRowBDD).Value = Workbooks("Mon Planning.xlsm").Sheets("BDD").Range("O2:O" & iRowBDD).Value
'Formule Planning
With .Sheets("PlanningOPS")
.Range("E8:AW8").AutoFill .Range("E8:AW" & IrowPL)
.Range("B8:C8").AutoFill .Range("B8:C" & IrowPL)
.Range("A1").Select
End With
'Formule Récap
With .Sheets("RécapOPS")
.Range("D6:O6").AutoFill .Range("D6:O" & IrowRéc)
End With
End With
Wb.Close False
End If
Call Totaux
Call CouleurTotaux
Sheets("PlanningOPS").Protect
Application.ScreenUpdating = True
MsgBox "Mises à jour effectuées"
End If
End SubComme je ne cesse de le répéter, inutile d'activer pour ça !
On active uniquement pour montrer, afficher, et là quand on l'a fait on s'arrête, c'est l'utilisateur qui prend la main !
Pour faire autre chose on n'active pas ! On fait !
Je n'ai d'ailleurs pas vu d'Activate dans ton code, et il n'en a nul besoin.
Par contre il me semble répéter deux fois les mêmes commandes, ce qui peut et doit être évité...
Je sais qu'il existe de le faire sans ouvrir le classeur mais pour l'instant mes connaissances d'Excel ne me permettent pas de le faire.