Rechercher : dans
Par :

Probleme sauvegarde macro excel

Dernière réponse le 30 jui 2008 à 08:22:34 mister-t, le 22 jui 2008 à 08:57:15 
 Signaler ce message aux modérateurs

Bonjour,

j'ai de nouveau un probleme de macro et cette fois ci un probleme
erreur automation l'objet invoqué s'est deconnecté de ses clients
Cette erreur me ferme excel sans que je puisse voir le deboggage
je pense que le probleme survient quant il enregistre la feuille active dans la macro ouvertnouvnum

voici les macro que j'ai créé

Sub Copierok()
Dim wbk1 As Workbook
Dim wbk2 As Workbook
Dim h As String
Dim x, y, z As Integer



Set wbk1 = ThisWorkbook


h = UserForm1.TextBox2.Text
x = Cells(6, 11).Value
y = 4
z = x + y

Set wbk2 = Workbooks.Open(Filename:="G:\semfos\1-Btmeca\Ravoire\mes documents\Controle\Pv\Liste Pv dimension\dimensi.1998 a nos jours")

wbk2.Sheets(h).Cells(z, 1) = wbk1.Sheets("PV").Cells(6, 11)
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
With Selection.Font
.Name = "Times New Roman"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Selection.Font.ColorIndex = 0



wbk2.Sheets(h).Cells(z, 2) = wbk1.Sheets("PV").Cells(16, 5)
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
With Selection.Font
.Name = "Times New Roman"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Selection.Font.ColorIndex = 0


wbk2.Sheets(h).Cells(z, 3) = wbk1.Sheets("PV").Cells(9, 3)
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
With Selection.Font
.Name = "Times New Roman"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Selection.Font.ColorIndex = 0

wbk2.Sheets(h).Cells(z, 4) = wbk1.Sheets("PV").Cells(16, 15)
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
With Selection.Font
.Name = "Times New Roman"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Selection.Font.ColorIndex = 0

wbk2.Sheets(h).Cells(z, 5) = wbk1.Sheets("PV").Cells(34, 8)
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
With Selection.Font
.Name = "Times New Roman"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
Selection.Font.ColorIndex = 0

wbk2.Sheets(h).Cells(z, 1).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
wbk2.Sheets(h).Cells(z, 4).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
wbk2.Sheets(h).Cells(z, 5).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With


Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.DisplayAlerts = True

Dim copyname As String
copyname = Range("numeroPV")
wbk1.Save
wbk1.SaveCopyAs Filename:="G:\semfos\1-Btmeca\Ravoire\mes documents\Controle\Pv\Liste Pv dimension\Pv dimension " & h & "\" & "PV" & copyname & ".xls"

End Sub

Sub ouvertnouvnum()
Dim val As Integer
val = Range("numeroPv") + 1
Sheets("PV").Cells(6, 11) = val
ActiveWorkbook.Save


End Sub

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « probleme sauvegarde macro excel » dans :
Exécuter une macro VoirExécuter une macro Excel et Calc proposent plusieurs façons d’exécuter une macro : en la sélectionnant dans une liste, dans la boîte de dialogue Macro ; par un raccourci clavier ; en l’attachant à un bouton de la barre d’outils ; ...

1

gbinforme, le 23 jui 2008 à 09:14:09

Bonjour

Ce n'est pas possible de te dire où cela se produit avec du code dont on ne sait pas à quoi il sert et si tu veux une aide met ton classeur sur : http://cjoint.com/

Puis tu n'oublies pas de nous mettre le lien généré dans ta discussion ici.
Toujours zen

Répondre à gbinforme

2

lermite222, le 23 jui 2008 à 10:43:03

Bonjour,
Déjà, tu emploi selection partout mais nul part tu ne fait une sélection, le fait de faire une égalité ne modifie pas la sélection. Apparement toutes les commandes que tu donne avec "Selection...." sont appliquées à
A1 de wbk2.sheets(1)
Puis toutes ces réinitialisations de cellules en valeur par défaut, est-ce bien nécessaire ?
A+ L'expérience instruit plus sûrement que le conseil. (André Gide)  

Répondre à lermite222

3

mister-t, le 25 jui 2008 à 14:35:01

Encore merci pour vos reponse

si je detaille un peu plus peu etre que sa va vous aider

en fait j fais une macro avec une userform et un bouton
lorsque jje clique sur ce bouton, la macro(copieok) copie certaines cellules de la feuille PV (wbk1)et les colles sur un autre workbook "PV dimensi. 1998 à nos jours(wbk2). Ensuite je sauvegarde wbk2, je ferme wbk2. Je me retrouve sur wbk1 que je sauvegarde aussi

ensuite dans ma deuxième macro(ouvertnouvnum), je fais une incrementation de 1 de la cellule 6,11 et je sauvegarde et c'est a ce moment la qu'il me dit erreur automation

help me please ?

désolé pour le retard

Répondre à mister-t

4

mister-t, le 25 jui 2008 à 17:54:49

Up up up please

Répondre à mister-t

5

lermite222, le 26 jui 2008 à 08:54:27

Et si! tu mettait tes 2 classeurs sur le lien donner par gbinforme
http://cjoint.com/
Et ensuite mettre le lien sur un poste suivant.
Pourrait alors debugger tes macros.
Sans ca, impossible de s'y retrouvés.
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

6

mister-t, le 28 jui 2008 à 09:11:16

Ok pas de probleme je vous donne les liens

sur le bouton indexage automatique du fichier modele PV sauvegarde
rentrer 2008 a la case feuille puis appuyer sur PV OK
normalement ça bugue a la macro incrementation

http://cjoint.com/?hCjaLX0xm6

http://cjoint.com/?hCjeZ04zEY


Pour tester les macros, il faudra surement definir le nouveau chemin de l'ouverture de dimensi.1998 à nos jours


Merci encore pour votre aide

Répondre à mister-t

7

lermite222, le 28 jui 2008 à 09:24:45

Tu t'est trompé dans tes fichiers, c'est les 2 mêmes.

EDIT:
Mais semblerait qu'il y ai déjà une erreur.

'Set wbk2 = Workbooks.Open(Filename:="G:\semfos\1-Btmeca\Ravoire\mes documents\Controle\Pv\Liste Pv dimension\dimensi.1998 a nos jours")

Faut d'abord l'ouvrir et ensuite l'assigné..

Workbooks.Open(Filename:="G:\semfos\1-Btmeca\Ravoire\mes documents\Controle\Pv\Liste Pv dimension\dimensi.1998 a nos jours")
Set wbk2 =ActiveWorkBook

Sinon, pour tester je doit avoir le second fichier. L'expérience instruit plus sûrement que le conseil. (André Gide)  

Répondre à lermite222

8

mister-t, le 28 jui 2008 à 11:40:40

Merci pour cette première réponse je vais tester

sinon voici le deuxième lien

http://cjoint.com/?hClIqJIftL

Pour ce que tu me dis, lorsque j'execute la macro CopierOK il n'y a pas de probleme c'est apres lorsque je veux sauvegarder dans la macro incrementation il y a un bugue

Répondre à mister-t

9

mister-t, le 28 jui 2008 à 14:29:35

Up svp

Répondre à mister-t

10

lermite222, le 28 jui 2008 à 14:31:42

Bon, j'ai trouvé le bug, super vicieux celui-là et il m'a drôlement fait transpirer, en fait tu ne peu pas sauver le classeur OU EST LA MACRO sous un autre nom, que ce soit avec SaveCopyAs ou SaveAs.. Excel est perdu et c'est tout a fait normal.
J'ai profondément remanier ta macro mais inspire toi de celle-là pour modifier les autres et supprime toutes ces lignes inutiles.
Voici ton classeur
Oublie pas de rétablir les répertoirs, juste changer les rem, j'ai tout préparer.
A+ L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

11

lermite222, le 28 jui 2008 à 14:41:09

Pour ce que tu me dis, lorsque j'execute la macro CopierOK il n'y a pas de probleme c'est apres lorsque je veux sauvegarder dans la macro incrementation il y a un bugue
Oui, mais le bug était dans CopierOK bien qu'il sortait de la macro, c'est justement pour cela que ca a été difficile à trouver.
Et faut pas être aussi impatient, je viens juste de terminer. L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

12

mister-t, le 28 jui 2008 à 15:32:51

Merci pour cette réponse je viens de refaire mes macros et je n'ai plu d'erreur si j'execute la macro incrementation avant copierok j'ai supprimé les save qui me faisait bugguer le prog

Maintenant j'ai un nouveau probleme
Vu que j'incremente avant, le savecopy as marche bien mais la case numéro PV de correspond pas au nom du fichier
ex: nom du fichier PV 232
nom de la case numeroPV 233

une solution ?

Répondre à mister-t

13

lermite222, le 28 jui 2008 à 15:44:54

T'a pas repris mon classeur ? L'expérience instruit plus sûrement que le conseil. (André G­ide)  

Répondre à lermite222

14

 mister-t, le 30 jui 2008 à 08:22:34

Bonjour et excuse pour ce retard

J'ai bien sur repris le classeur que tu avais remanié et je l'ai adapté a mon utilisation et la oooooooooooooooh miracle ça marche sans aucun probleme

Alors je dis merci MONSIEUR Lermite222


problème résolu

Répondre à mister-t