Probleme sauvegarde macro excel

[Résolu/Fermé]
Signaler
-
 mister-t -
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

13 réponses

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 512
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 : https://www.cjoint.com/

Puis tu n'oublies pas de nous mettre le lien généré dans ta discussion ici.
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 177
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+
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
up up up please
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 177
Et si! tu mettait tes 2 classeurs sur le lien donner par gbinforme
https://www.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+
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

https://www.cjoint.com/?hCjaLX0xm6

https://www.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
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 177
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.
merci pour cette première réponse je vais tester

sinon voici le deuxième lien

https://www.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
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 177
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+
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 177
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.
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 ?
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 177
T'a pas repris mon classeur ?
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