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").Activate

où 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 ! Mais strictement aucune importance tant qu'on est en exécution de code... C'est lorsqu'on reprend la main qu'il faut que le bon classeur soit affiché.

Cordialement.

Bonjour LouReeD, bonjour MFerrand,

J'ai essayer le code

Windows("Prem_Class.xlsm").Activate

mais 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 Sub

Comme 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. . Je n'ai trouvé que cette solution pour y palier .

Rechercher des sujets similaires à "deuxieme classeur reste second plan ouverture"