N
nighthawk
Guest
Bonjour,
je suis novice en VBA...
j'ai essayé de faire une fonction qui automatisé certaines fonctions
en essayant de la faire en ayant trouvé des exmples sur le net.
( A la base je veux :
A l’ouverture d’une feuille Excel :
L’utilisateur sélectionne des feuilles dans le fichier ouvert :
La macro doit Pouvoir réaliser, dans ces feuilles sélectionné un copier coller
- Des valeurs (seulement)
- Des formats des feuilles
- Si possible des photos éventuels
Et sauvegarder ça dans un autre fichier.
)
Mais j'ai quelque soucis :
1 : la partie
<code>For Each feuille In Selection.Sheets</code>
j'ai une erreur sur feuille = >' Erreur d’exécution ‘438’
Propriété ou méthode non géré par cet objet. ' pb sur mot feuille
je sais pas comment lui dire que c la ou les feuille(s) sélectionné du classeur qu'il faut qu'il prenne en compte.
2 : je ne sais pas comment faut il lui indiquer qu'il faut qu'il garde la mise en page d'origine.
3 : comment pouvoir également copier les images du document?
Sub cut_paste()
Application.ScreenUpdating = False 'désactive la mise à jour de l'écran (accélère l'application)
'For Each feuille In Selection.Sheets
' feuille.Activate
Cells.Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ChDir 'D:\\Download'
'Next feuille
ActiveWorkbook.SaveAs Filename:='D:\\Download\\Classeur1.xls', FileFormat:= _
xlNormal, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.ScreenUpdating = True 'désactive la mise à jour de l'écran (accélère l'application)
End Sub
merci de votre aide!
je suis novice en VBA...
j'ai essayé de faire une fonction qui automatisé certaines fonctions
en essayant de la faire en ayant trouvé des exmples sur le net.
( A la base je veux :
A l’ouverture d’une feuille Excel :
L’utilisateur sélectionne des feuilles dans le fichier ouvert :
La macro doit Pouvoir réaliser, dans ces feuilles sélectionné un copier coller
- Des valeurs (seulement)
- Des formats des feuilles
- Si possible des photos éventuels
Et sauvegarder ça dans un autre fichier.
)
Mais j'ai quelque soucis :
1 : la partie
<code>For Each feuille In Selection.Sheets</code>
j'ai une erreur sur feuille = >' Erreur d’exécution ‘438’
Propriété ou méthode non géré par cet objet. ' pb sur mot feuille
je sais pas comment lui dire que c la ou les feuille(s) sélectionné du classeur qu'il faut qu'il prenne en compte.
2 : je ne sais pas comment faut il lui indiquer qu'il faut qu'il garde la mise en page d'origine.
3 : comment pouvoir également copier les images du document?
Sub cut_paste()
Application.ScreenUpdating = False 'désactive la mise à jour de l'écran (accélère l'application)
'For Each feuille In Selection.Sheets
' feuille.Activate
Cells.Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ChDir 'D:\\Download'
'Next feuille
ActiveWorkbook.SaveAs Filename:='D:\\Download\\Classeur1.xls', FileFormat:= _
xlNormal, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.ScreenUpdating = True 'désactive la mise à jour de l'écran (accélère l'application)
End Sub
merci de votre aide!