Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie
Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne
s'exécute, je suis preneur.
HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!
... et c'est un gaussage très amical mon cher Président du C.O.I.N Vaut mieux ça qu'un dégaussage!!! Quand on leur fait subir ce traitement, les écrans vidéo en tremblent de jouissance mais les humains, je ne sais pas !!!! Amitiés Robert
"jps" a écrit dans le message de news: Oc%
achhhhhhhhhhhhhhhhhhhhh je n'avais pas vu qu'on se gaussait allègrement sur ma vieille carcasse..elle a bon dos heureusement et merci quand même à cette fripouille d'Herdet de m'avoir souhaité un joyeux zani jps PS perso à Sitting Hoax : j'ai alerté mes copains de la Yakuza (à marseille, il faut les grands moyens) pour te faire rendre gorge de ce "A part la fameuse chanson de qui vous savez, je ne vois pas ce qui peut vous empêcher de venir au soleil faire une partie de boules avec nous;-)))"
"Herdet" a écrit dans le message de news:
OK, C'est tout bon Denis ! Ca marche au poil. Et merci d'avoir veillé aussi tard pour trouver cette solution. Cordialement Robert
"michdenis" a écrit dans le message de news:
Bonjour Herdet,
Ceci copie la feuil1 du classeur dans les procédures en évitant que les macros événementielles de la feuille copiée s'exécute...
'----------------------------- Sub test() ' 2 paramêtres : Le classeur où est la feuille ' Le nom de l'onglet de la feuille CopierFeuilleSansVBA ThisWorkbook, "Feuil1"
End Sub
'----------------------------- Sub CopierFeuilleSansVBA(Wk As Workbook, SonNom As String)
Dim Texte As String With Wk.VBProject.VBComponents(Wk.Worksheets(SonNom) _ .CodeName).CodeModule Texte = .Lines(1, .CountOfLines) .DeleteLines 1, .CountOfLines Sheets(SonNom).Copy .AddFromString Texte End With
End Sub '-----------------------------
Salutations!
"Herdet" a écrit dans le message de news:
Bonsoir Denis, Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric Sigonneau, que j'ai essayé sans succés. J'ai crée plusieurs procédures basées sur VBComponents mais elles butent toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe pas. Cela se produit dans le code de la feuille, à chaque exécution de ActiveWorkbook.Sheets(SonNom).Copy La Sub de ma feuille source est : Private Sub Worksheet_Activate() Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui n'existe pas End Sub
C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui casser le moral en lui rappelant son âge. Et je dirais même qu'il n'est pas seul dans ce cas là. A + Robert
"michdenis" a écrit dans le message de news: %
Bonjour Herdet,
Pour les anniversaires... il n'est pas nécessaire de rappeler à tous les jours à ce bougre qu'il veuillit ...! ;-))
Si ton besoin est de copier une feuille sans le code ...
'------------------------ Sub test() CopierFeuilleSansVBA ("Feuil1") End Sub '------------------------
Sub CopierFeuilleSansVBA(SonNom As String)
ActiveWorkbook.Sheets(SonNom).Copy With ActiveWorkbook .Sheets(SonNom).UsedRange.Value = _ .Sheets(SonNom).UsedRange.Value With .VBProject. _ VBComponents(Sheets(SonNom).CodeName).CodeModule .DeleteLines 1, .CountOfLines End With End With
End Sub '------------------------
Salutations!
"Herdet" a écrit dans le message de news: % Bonsoir à tous, Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que l'objet du message ! But de la manip : - copier une feuille d'un classeur dans un nouveau classeur - supprimer le code de la feuille dans ce nouveau classeur Problème : la feuille incriminée comporte une Private Sub qui fait appel à d'autres Sub du module "Principal" source. Naturellement, le module "Principal" du nouveau classeur n'existant pas, j'ai un beau message prévisible "Erreur de compilation " Sub ou Fonction non définie
Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne s'exécute, je suis preneur.
HS : depuis que Misange à supprimé (et je la comprends) les dates d'anniversaires de excelabo, on a tendance à laisser passer des choses essentielles de la vie. Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!
Salutations Robert
... et c'est un gaussage très amical mon cher Président du C.O.I.N
Vaut mieux ça qu'un dégaussage!!!
Quand on leur fait subir ce traitement, les écrans vidéo en tremblent de
jouissance mais les humains, je ne sais pas !!!!
Amitiés
Robert
"jps" <vaderetrosp@mas> a écrit dans le message de news:
Oc%23GTIUNGHA.1312@TK2MSFTNGP09.phx.gbl...
achhhhhhhhhhhhhhhhhhhhh
je n'avais pas vu qu'on se gaussait allègrement sur ma vieille
carcasse..elle a bon dos heureusement et merci quand même à cette
fripouille d'Herdet de m'avoir souhaité un joyeux zani
jps
PS perso à Sitting Hoax : j'ai alerté mes copains de la Yakuza (à
marseille, il faut les grands moyens) pour te faire rendre gorge de ce "A
part la fameuse chanson de qui vous savez, je ne vois pas ce qui peut vous
empêcher de venir au soleil faire une partie de boules avec nous;-)))"
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de news:
OuiCNAUNGHA.3936@TK2MSFTNGP12.phx.gbl...
OK, C'est tout bon Denis ! Ca marche au poil.
Et merci d'avoir veillé aussi tard pour trouver cette solution.
Cordialement
Robert
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eWmZjlONGHA.2624@TK2MSFTNGP12.phx.gbl...
Bonjour Herdet,
Ceci copie la feuil1 du classeur dans les procédures
en évitant que les macros événementielles de la feuille copiée
s'exécute...
'-----------------------------
Sub test()
' 2 paramêtres : Le classeur où est la feuille
' Le nom de l'onglet de la feuille
CopierFeuilleSansVBA ThisWorkbook, "Feuil1"
End Sub
'-----------------------------
Sub CopierFeuilleSansVBA(Wk As Workbook, SonNom As String)
Dim Texte As String
With Wk.VBProject.VBComponents(Wk.Worksheets(SonNom) _
.CodeName).CodeModule
Texte = .Lines(1, .CountOfLines)
.DeleteLines 1, .CountOfLines
Sheets(SonNom).Copy
.AddFromString Texte
End With
End Sub
'-----------------------------
Salutations!
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de news:
uwAYeJNNGHA.964@tk2msftngp13.phx.gbl...
Bonsoir Denis,
Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric
Sigonneau, que j'ai essayé sans succés.
J'ai crée plusieurs procédures basées sur VBComponents mais elles butent
toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe
pas.
Cela se produit dans le code de la feuille, à chaque exécution de
ActiveWorkbook.Sheets(SonNom).Copy
La Sub de ma feuille source est :
Private Sub Worksheet_Activate()
Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui
n'existe pas
End Sub
C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui
casser le moral en lui rappelant son âge.
Et je dirais même qu'il n'est pas seul dans ce cas là.
A +
Robert
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%23aidRgMNGHA.812@TK2MSFTNGP10.phx.gbl...
Bonjour Herdet,
Pour les anniversaires... il n'est pas nécessaire de rappeler
à tous les jours à ce bougre qu'il veuillit ...! ;-))
Si ton besoin est de copier une feuille sans le code ...
'------------------------
Sub test()
CopierFeuilleSansVBA ("Feuil1")
End Sub
'------------------------
Sub CopierFeuilleSansVBA(SonNom As String)
ActiveWorkbook.Sheets(SonNom).Copy
With ActiveWorkbook
.Sheets(SonNom).UsedRange.Value = _
.Sheets(SonNom).UsedRange.Value
With .VBProject. _
VBComponents(Sheets(SonNom).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
End With
End Sub
'------------------------
Salutations!
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de news:
%23l8sFZMNGHA.3556@TK2MSFTNGP10.phx.gbl...
Bonsoir à tous,
Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux
que
l'objet du message !
But de la manip :
- copier une feuille d'un classeur dans un nouveau classeur
- supprimer le code de la feuille dans ce nouveau classeur
Problème :
la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
Sub du module "Principal" source.
Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
j'ai un beau message prévisible
"Erreur de compilation " Sub ou Fonction non définie
Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
classeur ou supprimer la Private Sub de la feuille active avant qu'elle
ne
s'exécute, je suis preneur.
HS : depuis que Misange à supprimé (et je la comprends) les dates
d'anniversaires de excelabo, on a tendance à laisser passer des choses
essentielles de la vie.
Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!
... et c'est un gaussage très amical mon cher Président du C.O.I.N Vaut mieux ça qu'un dégaussage!!! Quand on leur fait subir ce traitement, les écrans vidéo en tremblent de jouissance mais les humains, je ne sais pas !!!! Amitiés Robert
"jps" a écrit dans le message de news: Oc%
achhhhhhhhhhhhhhhhhhhhh je n'avais pas vu qu'on se gaussait allègrement sur ma vieille carcasse..elle a bon dos heureusement et merci quand même à cette fripouille d'Herdet de m'avoir souhaité un joyeux zani jps PS perso à Sitting Hoax : j'ai alerté mes copains de la Yakuza (à marseille, il faut les grands moyens) pour te faire rendre gorge de ce "A part la fameuse chanson de qui vous savez, je ne vois pas ce qui peut vous empêcher de venir au soleil faire une partie de boules avec nous;-)))"
"Herdet" a écrit dans le message de news:
OK, C'est tout bon Denis ! Ca marche au poil. Et merci d'avoir veillé aussi tard pour trouver cette solution. Cordialement Robert
"michdenis" a écrit dans le message de news:
Bonjour Herdet,
Ceci copie la feuil1 du classeur dans les procédures en évitant que les macros événementielles de la feuille copiée s'exécute...
'----------------------------- Sub test() ' 2 paramêtres : Le classeur où est la feuille ' Le nom de l'onglet de la feuille CopierFeuilleSansVBA ThisWorkbook, "Feuil1"
End Sub
'----------------------------- Sub CopierFeuilleSansVBA(Wk As Workbook, SonNom As String)
Dim Texte As String With Wk.VBProject.VBComponents(Wk.Worksheets(SonNom) _ .CodeName).CodeModule Texte = .Lines(1, .CountOfLines) .DeleteLines 1, .CountOfLines Sheets(SonNom).Copy .AddFromString Texte End With
End Sub '-----------------------------
Salutations!
"Herdet" a écrit dans le message de news:
Bonsoir Denis, Désolé, mais c'est la 1ere solution, copiée sur le site de Frédéric Sigonneau, que j'ai essayé sans succés. J'ai crée plusieurs procédures basées sur VBComponents mais elles butent toujours sur le même appel de "Adaptation_Hauteur_ligne", qui n'existe pas. Cela se produit dans le code de la feuille, à chaque exécution de ActiveWorkbook.Sheets(SonNom).Copy La Sub de ma feuille source est : Private Sub Worksheet_Activate() Adaptation_Hauteur_ligne ' se trouve dans le module "principal" qui n'existe pas End Sub
C'est vrai ce que tu dis au sujet de JPS, ce n'est pas la peine de lui casser le moral en lui rappelant son âge. Et je dirais même qu'il n'est pas seul dans ce cas là. A + Robert
"michdenis" a écrit dans le message de news: %
Bonjour Herdet,
Pour les anniversaires... il n'est pas nécessaire de rappeler à tous les jours à ce bougre qu'il veuillit ...! ;-))
Si ton besoin est de copier une feuille sans le code ...
'------------------------ Sub test() CopierFeuilleSansVBA ("Feuil1") End Sub '------------------------
Sub CopierFeuilleSansVBA(SonNom As String)
ActiveWorkbook.Sheets(SonNom).Copy With ActiveWorkbook .Sheets(SonNom).UsedRange.Value = _ .Sheets(SonNom).UsedRange.Value With .VBProject. _ VBComponents(Sheets(SonNom).CodeName).CodeModule .DeleteLines 1, .CountOfLines End With End With
End Sub '------------------------
Salutations!
"Herdet" a écrit dans le message de news: % Bonsoir à tous, Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que l'objet du message ! But de la manip : - copier une feuille d'un classeur dans un nouveau classeur - supprimer le code de la feuille dans ce nouveau classeur Problème : la feuille incriminée comporte une Private Sub qui fait appel à d'autres Sub du module "Principal" source. Naturellement, le module "Principal" du nouveau classeur n'existant pas, j'ai un beau message prévisible "Erreur de compilation " Sub ou Fonction non définie
Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne s'exécute, je suis preneur.
HS : depuis que Misange à supprimé (et je la comprends) les dates d'anniversaires de excelabo, on a tendance à laisser passer des choses essentielles de la vie. Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!
Salutations Robert
Herdet
J'ai oublié le plus gros inconvenient très important : la mise en page de la feuille disparait !! Ensuite c'est la galère pour la refaire complètement en VBA et très lent car les appels de code de mise en page à l'imprimante se font ligne par ligne (bug du VBA !) La mise en page par macro Excel4, traitée en bloc est plus rapide mais très incomplète.
Salutations Robert
"Herdet" a écrit dans le message de news: %
Bonjour Alain, Merci pour ta solution. Elle présente toutefois les inconvénients du copier/coller basique : - les objets Logo, Listes déroulantes, bouton ne sont pas copiés - le formatage ne suit pas (quadrillage, le mode plan et les colonnes masquées deviennent visible, ...) - le nom de la feuille à été perdu. La fonction "Déplacer/copier" directe fonctionne mieux en général. Cordiales salutations Robert
"Alain CROS" a écrit dans le message de news: %
Bonjour,
Private Sub CommandButton1_Click() With Application .ScreenUpdating = False .Cells.Copy .Workbooks.Add xlWBATWorksheet With .ActiveSheet .Paste .[A1].Select End With .CutCopyMode = False .ScreenUpdating = True End With End Sub
Alain CROS
"Herdet" a écrit dans le message de news: # | Bonsoir à tous, | Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que | l'objet du message ! | But de la manip : | - copier une feuille d'un classeur dans un nouveau classeur | - supprimer le code de la feuille dans ce nouveau classeur | Problème : | la feuille incriminée comporte une Private Sub qui fait appel à d'autres | Sub du module "Principal" source. | Naturellement, le module "Principal" du nouveau classeur n'existant pas, | j'ai un beau message prévisible | "Erreur de compilation " Sub ou Fonction non définie | | Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau | classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne | s'exécute, je suis preneur. | | HS : depuis que Misange à supprimé (et je la comprends) les dates | d'anniversaires de excelabo, on a tendance à laisser passer des choses | essentielles de la vie. | Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!! | | Salutations | Robert | |
J'ai oublié le plus gros inconvenient très important : la mise en page de la
feuille disparait !!
Ensuite c'est la galère pour la refaire complètement en VBA et très lent car
les appels de code de mise en page à l'imprimante se font ligne par ligne
(bug du VBA !)
La mise en page par macro Excel4, traitée en bloc est plus rapide mais très
incomplète.
Salutations
Robert
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de news:
%23Gq9lLUNGHA.536@TK2MSFTNGP09.phx.gbl...
Bonjour Alain,
Merci pour ta solution.
Elle présente toutefois les inconvénients du copier/coller basique :
- les objets Logo, Listes déroulantes, bouton ne sont pas copiés
- le formatage ne suit pas (quadrillage, le mode plan et les colonnes
masquées deviennent visible, ...)
- le nom de la feuille à été perdu.
La fonction "Déplacer/copier" directe fonctionne mieux en général.
Cordiales salutations
Robert
"Alain CROS" <Personne@ICI> a écrit dans le message de news:
%23z9iNuSNGHA.3788@TK2MSFTNGP09.phx.gbl...
Bonjour,
Private Sub CommandButton1_Click()
With Application
.ScreenUpdating = False
.Cells.Copy
.Workbooks.Add xlWBATWorksheet
With .ActiveSheet
.Paste
.[A1].Select
End With
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
Alain CROS
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de news:
#l8sFZMNGHA.3556@TK2MSFTNGP10.phx.gbl...
| Bonsoir à tous,
| Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux
que
| l'objet du message !
| But de la manip :
| - copier une feuille d'un classeur dans un nouveau classeur
| - supprimer le code de la feuille dans ce nouveau classeur
| Problème :
| la feuille incriminée comporte une Private Sub qui fait appel à
d'autres
| Sub du module "Principal" source.
| Naturellement, le module "Principal" du nouveau classeur n'existant
pas,
| j'ai un beau message prévisible
| "Erreur de compilation " Sub ou Fonction non définie
|
| Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau
| classeur ou supprimer la Private Sub de la feuille active avant qu'elle
ne
| s'exécute, je suis preneur.
|
| HS : depuis que Misange à supprimé (et je la comprends) les dates
| d'anniversaires de excelabo, on a tendance à laisser passer des choses
| essentielles de la vie.
| Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!!
|
| Salutations
| Robert
|
|
J'ai oublié le plus gros inconvenient très important : la mise en page de la feuille disparait !! Ensuite c'est la galère pour la refaire complètement en VBA et très lent car les appels de code de mise en page à l'imprimante se font ligne par ligne (bug du VBA !) La mise en page par macro Excel4, traitée en bloc est plus rapide mais très incomplète.
Salutations Robert
"Herdet" a écrit dans le message de news: %
Bonjour Alain, Merci pour ta solution. Elle présente toutefois les inconvénients du copier/coller basique : - les objets Logo, Listes déroulantes, bouton ne sont pas copiés - le formatage ne suit pas (quadrillage, le mode plan et les colonnes masquées deviennent visible, ...) - le nom de la feuille à été perdu. La fonction "Déplacer/copier" directe fonctionne mieux en général. Cordiales salutations Robert
"Alain CROS" a écrit dans le message de news: %
Bonjour,
Private Sub CommandButton1_Click() With Application .ScreenUpdating = False .Cells.Copy .Workbooks.Add xlWBATWorksheet With .ActiveSheet .Paste .[A1].Select End With .CutCopyMode = False .ScreenUpdating = True End With End Sub
Alain CROS
"Herdet" a écrit dans le message de news: # | Bonsoir à tous, | Comme entrée en matière, Monsieur de La Palisse n'aurait pas dit mieux que | l'objet du message ! | But de la manip : | - copier une feuille d'un classeur dans un nouveau classeur | - supprimer le code de la feuille dans ce nouveau classeur | Problème : | la feuille incriminée comporte une Private Sub qui fait appel à d'autres | Sub du module "Principal" source. | Naturellement, le module "Principal" du nouveau classeur n'existant pas, | j'ai un beau message prévisible | "Erreur de compilation " Sub ou Fonction non définie | | Si quelqu'un à la solution pour ne pas exécuter les macros du nouveau | classeur ou supprimer la Private Sub de la feuille active avant qu'elle ne | s'exécute, je suis preneur. | | HS : depuis que Misange à supprimé (et je la comprends) les dates | d'anniversaires de excelabo, on a tendance à laisser passer des choses | essentielles de la vie. | Toutes mes excuses à JPS et BON ANNIVERSAIRE JEAN-PAUL !!!!! | | Salutations | Robert | |
Alain CROS
Bonjour,
Ok, je n'avais pas tous compris. Plutôt que d'utiliser les VBComponents dont l'accès peut être interdit :
Private Sub Worksheet_Activate() On Error Resume Next Run "Adaptation_Hauteur_ligne" ' se trouve dans le module "principal" qui n'existe pas On Error GoTo 0 End Sub
Alain CROS
"Herdet" a écrit dans le message de news: | J'ai oublié le plus gros inconvenient très important : la mise en page de la | feuille disparait !! | Ensuite c'est la galère pour la refaire complètement en VBA et très lent car | les appels de code de mise en page à l'imprimante se font ligne par ligne | (bug du VBA !) | La mise en page par macro Excel4, traitée en bloc est plus rapide mais très | incomplète. | | Salutations | Robert | | "Herdet" a écrit dans le message de news: | % | > Bonjour Alain, | > Merci pour ta solution. | > Elle présente toutefois les inconvénients du copier/coller basique : | > - les objets Logo, Listes déroulantes, bouton ne sont pas copiés | > - le formatage ne suit pas (quadrillage, le mode plan et les colonnes | > masquées deviennent visible, ...) | > - le nom de la feuille à été perdu. | > La fonction "Déplacer/copier" directe fonctionne mieux en général. | > Cordiales salutations | > Robert | >
Bonjour,
Ok, je n'avais pas tous compris.
Plutôt que d'utiliser les VBComponents dont l'accès peut être interdit :
Private Sub Worksheet_Activate()
On Error Resume Next
Run "Adaptation_Hauteur_ligne" ' se trouve dans le module "principal" qui n'existe pas
On Error GoTo 0
End Sub
Alain CROS
"Herdet" <robert.dezan@noos.fr> a écrit dans le message de news: e6yCPbUNGHA.344@TK2MSFTNGP11.phx.gbl...
| J'ai oublié le plus gros inconvenient très important : la mise en page de la
| feuille disparait !!
| Ensuite c'est la galère pour la refaire complètement en VBA et très lent car
| les appels de code de mise en page à l'imprimante se font ligne par ligne
| (bug du VBA !)
| La mise en page par macro Excel4, traitée en bloc est plus rapide mais très
| incomplète.
|
| Salutations
| Robert
|
| "Herdet" <robert.dezan@noos.fr> a écrit dans le message de news:
| %23Gq9lLUNGHA.536@TK2MSFTNGP09.phx.gbl...
| > Bonjour Alain,
| > Merci pour ta solution.
| > Elle présente toutefois les inconvénients du copier/coller basique :
| > - les objets Logo, Listes déroulantes, bouton ne sont pas copiés
| > - le formatage ne suit pas (quadrillage, le mode plan et les colonnes
| > masquées deviennent visible, ...)
| > - le nom de la feuille à été perdu.
| > La fonction "Déplacer/copier" directe fonctionne mieux en général.
| > Cordiales salutations
| > Robert
| >
Ok, je n'avais pas tous compris. Plutôt que d'utiliser les VBComponents dont l'accès peut être interdit :
Private Sub Worksheet_Activate() On Error Resume Next Run "Adaptation_Hauteur_ligne" ' se trouve dans le module "principal" qui n'existe pas On Error GoTo 0 End Sub
Alain CROS
"Herdet" a écrit dans le message de news: | J'ai oublié le plus gros inconvenient très important : la mise en page de la | feuille disparait !! | Ensuite c'est la galère pour la refaire complètement en VBA et très lent car | les appels de code de mise en page à l'imprimante se font ligne par ligne | (bug du VBA !) | La mise en page par macro Excel4, traitée en bloc est plus rapide mais très | incomplète. | | Salutations | Robert | | "Herdet" a écrit dans le message de news: | % | > Bonjour Alain, | > Merci pour ta solution. | > Elle présente toutefois les inconvénients du copier/coller basique : | > - les objets Logo, Listes déroulantes, bouton ne sont pas copiés | > - le formatage ne suit pas (quadrillage, le mode plan et les colonnes | > masquées deviennent visible, ...) | > - le nom de la feuille à été perdu. | > La fonction "Déplacer/copier" directe fonctionne mieux en général. | > Cordiales salutations | > Robert | >