Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvrir un deuxieme excel pour coller un onglet de mon fichier de mon premier excel

4 réponses
Avatar
Alex
Bonjour =E0 tous,

Je rencontre un probl=E8me et ne sais comment le r=E9soudre, et vous
demande votre aide.
Voici mon probl=E8me :
Depuis un fichier Excel, enti=E8rement g=E9rer en Userform (Pas d'acc=E8s
pour l'utilisateur ni au menu ni =E0 la feuille).
Depuis ce Userform, l'utilisateur a la possibilit=E9 d'=E9diter des
documents qui se genere en automatique.
Pour l'un de ces documents qui se genere automatiquement, je
souhaiterais deplacer un onglet "X" dans un second Excel, afin de
permettre =E0 l'utilisateur de modifier ce document. Quelqu'un aurait-il
une solution =E0 me proposer.
Je suis oblig=E9 de proc=E9d=E9 =E0 l'ouverture d'un second Excel car si je=
me
contente de d=E9placer l'onglet "X" dans un autre classeur (pas un autre
Excel) mon Userform empeche l'utilisateur d'y acc=E9der, et ne peut donc
pas proc=E9der aux eventuelles modifications du document.
Je suis a votre disposition si vous souhaitez plus d'explication pour
r=E9soudre mon probl=E8me.
Merci par avance de vos r=E9ponses.
Bien cordialement.
Alex

P.S. : un premier message a =E9t=E9 envoy=E9 par erreur avant la fin de la
r=E9daction, merci de ne pas en tenir compte, je tenterai de le
supprimer.

4 réponses

Avatar
MichD
Bonjour,

Dans un module standard :

'-----------------------------------------
Sub TEST()

Dim Xl As Object, Wk As Workbook
Dim SonNom As String, NomFeuilleAcopier As String
Set Xl = CreateObject("Excel.Application")

'Variable à définir - Nom de la feuille dans le classeur
'de la feuille où ce code est inscrit.
'-----------------
NomFeuilleAcopier = "Feuil1" 'nom de l'onglet
'-----------------
Application.ScreenUpdating = False
Set Wk = Workbooks.Add(-4167)

With ThisWorkbook.Worksheets(NomFeuilleAcopier)
SonNom = .Name
.Copy after:=Wk.Worksheets(Sheets.Count)
Application.DisplayAlerts = False
Wk.Worksheets(1).Delete
Application.DisplayAlerts = True
Wk.Worksheets(1).Name = SonNom
End With
Xl.Visible = True
Application.ScreenUpdating = True

End Sub
'-----------------------------------------



MichD
------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :

Bonjour à tous,

Je rencontre un problème et ne sais comment le résoudre, et vous
demande votre aide.
Voici mon problème :
Depuis un fichier Excel, entièrement gérer en Userform (Pas d'accès
pour l'utilisateur ni au menu ni à la feuille).
Depuis ce Userform, l'utilisateur a la possibilité d'éditer des
documents qui se genere en automatique.
Pour l'un de ces documents qui se genere automatiquement, je
souhaiterais deplacer un onglet "X" dans un second Excel, afin de
permettre à l'utilisateur de modifier ce document. Quelqu'un aurait-il
une solution à me proposer.
Je suis obligé de procédé à l'ouverture d'un second Excel car si je me
contente de déplacer l'onglet "X" dans un autre classeur (pas un autre
Excel) mon Userform empeche l'utilisateur d'y accéder, et ne peut donc
pas procéder aux eventuelles modifications du document.
Je suis a votre disposition si vous souhaitez plus d'explication pour
résoudre mon problème.
Merci par avance de vos réponses.
Bien cordialement.
Alex

P.S. : un premier message a été envoyé par erreur avant la fin de la
rédaction, merci de ne pas en tenir compte, je tenterai de le
supprimer.
Avatar
Alex
Merci beaucoup exactement ce que je souhaitais.
Alex
Avatar
Alex
Re bonjour,

En fait, ce que je voudrais c'est que ca ouvre un second excel, avec
les lignes de commande proposé, ca créer le document sur une nouvelle
fenêtre mais dans le même excel, ce ui m'empeche d'accéder au
document, puisque le userform bloque le passage sur la seconde
fenetre.
Savez vous ouvrir un second excel pour pouvoir accéder à la feuille
meme quand mon userform est actif ?
Merci par avance de votre aide.
Bien cordialement.
Alex
Avatar
MichD
Ceci devrait aller pour copier les données et les formules de la feuille vers une feuille
d'un nouveau classeur dans une autre instance d'Excel. Le hic, comme tu as 2 instances
distinctes d'Excel, certaines façons simples de faire lorsque l'on est dans le même
classeur ne s'appliquent plus.

Exécute cette procédure à partir de l'interface de la feuille de calcul en utilisant soit
un bouton affecté à cette macro ou par la fenêtre générée par le raccourci clavier Alt+F8

'------------------------------------------------
Sub TEST()

Dim Xl As Object, Wk As Workbook
Dim SonNom As String, NomFeuilleAcopier As String
Dim T As Variant, Adr As String, Are As Range

Set Xl = CreateObject("Excel.Application")
Xl.Visible = True
'Variable à définir - Nom de la feuille dans le classeur
'de la feuille où ce code est inscrit.
'-----------------
NomFeuilleAcopier = "Feuil1" 'nom de l'onglet
'-----------------
Application.ScreenUpdating = False
Set Wk = Xl.Workbooks.Add(-4167)

With ThisWorkbook.Worksheets(NomFeuilleAcopier)
SonNom = .Name
.Cells.Copy
Set rg = .Cells.SpecialCells(xlCellTypeFormulas)
Wk.Activate
Wk.Sheets(1).Name = SonNom
Wk.Sheets(1).Range("A1").Select
Application.DisplayAlerts = False
SendKeys "~"
With Wk.Sheets(1)
.Paste
Application.CutCopyMode = False
.Range("A1").Select
On Error Resume Next
For Each are In rg.Areas
t = are.Formula
.Range(are.Address) = t
Next
End With
Application.CutCopyMode = False
Wk.Sheets(1).Range("A1").Select
Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True

End Sub
'------------------------------------------------



MichD
------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :


Re bonjour,

En fait, ce que je voudrais c'est que ca ouvre un second excel, avec
les lignes de commande proposé, ca créer le document sur une nouvelle
fenêtre mais dans le même excel, ce ui m'empeche d'accéder au
document, puisque le userform bloque le passage sur la seconde
fenetre.
Savez vous ouvrir un second excel pour pouvoir accéder à la feuille
meme quand mon userform est actif ?
Merci par avance de votre aide.
Bien cordialement.
Alex