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

Le
Alex
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #24177111
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.
Alex
Le #24177361
Merci beaucoup exactement ce que je souhaitais.
Alex
Alex
Le #24189971
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
MichD
Le #24190231
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
Publicité
Poster une réponse
Anonyme