probleme de macro d'enregistrement de feuille dans un rep
1 réponse
pireyzend
Toujours pas solutionné....merci pour vos conseils
Bonjour, et merci pour ton aide.
Malheureusement ce que tu me dit ne fonctionne pas. Même message d'erreur.
Ce qui m'etonne le plus est que cette même macro, dans un autre classeur,
fonctionne parfaitement...
Salutations
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
uPsurPtRGHA.4956@TK2MSFTNGP09.phx.gbl...
> Bonjour pireyzend
>
>
> | Windows("vmDocFch").Activate
>
> Si ton fichier a déjà été enregistré une fois, tu dois inscrire aussi
> l'extension du fichier
>
> Windows("vmDocFch.xls").Activate
>
> Il est préférable d'utiliser la collection Workbooks pour une question de
> lisibilité
> Workbooks("vmDocFch.xls").Activate
>
>
>
> Salutations!
>
>
>
>
>
>
> "pireyzend" <pireyzend@free.fr> a écrit dans le message de news:
> e7r4KtsRGHA.5092@TK2MSFTNGP11.phx.gbl...
> Voila, j'ai mis ou ce produit le "plantage"
>
> amicalement
>
> Workbooks.Add
>>
>> ActiveWorkbook.SaveAs Filename:=vmDocChm, _
>>
>> FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
>>
>> ReadOnlyRecommended:=False, CreateBackup:=False
>>
>> Windows("F-excel.xls").Activate
>>
>> Sheets("Imp").Select
>>
>> Cells.Select
>>
>> Selection.Copy
>>
>> ===> c'est ici le plantage : Windows("vmDocFch").Activate
>
>
>
>
> "michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
> %2396lX7pRGHA.5500@TK2MSFTNGP12.phx.gbl...
>> Bonjour pireyzend,
>>
>> | message d'erreur 9 : "l'indice n'appartiens pas a la selection"
>>
>> Ce message est généré lorsque la référence à un objet est incorrect
>> Exemple : Worksheets("Feuil25").....
>> Si le classeur n'a aucune feuille ayant le nom d'onglet "Feuil25"), une
>> erreur de type 9 est générée.
>>
>> En conséquence, sur la ligne mise en surbrillance jaune au moment de
>> l'exécution... il devrait être assez facile de vérifier quelle référence
>> à
>> un objet est fautif.
>>
>> P.-S. C'est bien de publier son code...c'est encore mieux si dans ton
>> message tu peux identifier CLAIREMENT où tu éprouves une difficulté.
>>
>>
>> Salutations!
>>
>>
>>
>>
>>
>> "pireyzend" <pireyzend@free.fr> a écrit dans le message de news:
>> O43PxNhRGHA.4792@TK2MSFTNGP14.phx.gbl...
>> Bonjour à tous,
>>
>> J'ai un problème que je comprends pas sur une macro.
>> J'explique le problème et met le code vba ci-apres.
>>
>> Ce qui est en jaune indique l'endroit ou la macro "plante" et me met le
>> message d'erreur 9 : "l'indice n'appartiens pas a la selection"
>> vmDocFch, pointe sur une cellule qui donne un adressage d'enregistrement
>> :
>> exemple "nom client Nxxx"
>> vmDocChm indique l'endroit d'enregistrement : exemple
>> "c:\nom\sauvegardes\vmDocFch.xls"
>>
>> ça enregistre bien dans le rep de destination un classeur nommé comme
>> "vmDocFch.xls", mais c'est une feuille blanche et la macro va pas plus
>> loin
>> que ce que j'ai indiqué en jaune sur la copie de la macro ci-dessous.
>>
>> Ou est l'erreur ?
>>
>> merci
>>
>> '***Validation du Document
>>
>> Sub DocumentValider()
>>
>> Dim vNbreImp As Variant
>>
>> Dim vmDocFch As Variant
>>
>> Dim vmDocChm As Variant
>>
>> vmDocFch = Range("vmDocFch")
>>
>> vmDocChm = Range("vmDocChm")
>>
>> 'Conditions Validation
>>
>> 'Sur Date
>>
>> If Range("vnDocumentDateDoc") = "" Then
>>
>> MsgBox "Date du Document non renseignée."
>>
>> Range("vnDocumentDateDoc").Select
>>
>> Exit Sub
>>
>> End If
>>
>> 'Sur N°
>>
>> If Range("vnDocumentNumDoc") = "" Then
>>
>> MsgBox "Numéro du Document non renseigné."
>>
>> Range("vnDocumentNumDoc").Select
>>
>> Exit Sub
>>
>> End If
>>
>> 'Imprimer Document
>>
>> 'Nbre de copie à imprimer
>>
>> vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression
>> Document", 1)
>>
>> If vNbreImp <= 0 Then GoTo 5
>>
>> If IsNumeric(vNbreImp) Then
>>
>> GoTo 10
>>
>> Else: Do Until IsNumeric(vNbreImp)
>>
>> 5
>>
>> MsgBox "La valeur doit être un nombre entier et > 0"
>>
>> vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression
>> Document", 1)
>>
>> Loop
>>
>> GoTo 10
>>
>> End If
>>
>> 10
>>
>> Sheets("Imp").Select
>>
>> ActiveWindow.SelectedSheets.PrintOut Copies:=vNbreImp
>>
>> 'Copie Imp/Fichier
>>
>> 'Condition garder une copie
>>
>> If Range("vnDossierOptCopieDoc") = "Non" Then GoTo 20
>>
>> 'Condition creer une copie
>>
>> If Range("vnDossierOptCopieDoc") = "Oui" Then
>>
>> Workbooks.Add
>>
>> ActiveWorkbook.SaveAs Filename:=vmDocChm, _
>>
>> FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
>>
>> ReadOnlyRecommended:=False, CreateBackup:=False
>>
>> Windows("F-excel.xls").Activate
>>
>> Sheets("Imp").Select
>>
>> Cells.Select
>>
>> Selection.Copy
>>
>> Windows("vmDocFch").Activate
>>
>> Cells.Select
>>
>> 'copier les valeurs uniquement
>>
>> Selection.PasteSpecial Paste:=xlValues, Operation:= _
>>
>> xlNone, SkipBlanks:=False, Transpose:=False
>>
>> 'copier les formats uniquement
>>
>> Selection.PasteSpecial Paste:=xlFormats, Operation:= _
>>
>> xlNone, SkipBlanks:=False, Transpose:=False
>>
>> Range("a1").Select
>>
>> Application.CutCopyMode = False
>>
>> 'Enregistrer et Fermer la copie
>>
>> ActiveWorkbook.Save
>>
>> ActiveWorkbook.Close
>>
>> GoTo 20
>>
>> End If
>>
>> 20
>>
>> Windows("F-Excel.xls").Activate
>>
>>
>>
>> Range("chpDocumentDesignation").Select
>>
>> Selection.ClearContents
>>
>> 'Quantité
>>
>> Range("chpDocumentQuantite").Select
>>
>> Selection.ClearContents
>>
>> 'Montant HT
>>
>> 'Range("chpDocumentMontantHT").Select
>>
>> 'Selection.ClearContents
>>
>> 'Code TVA
>>
>> Range("chpDocumentCodeTva").Select
>>
>> Selection.ClearContents
>>
>> 'Prix Unitaires
>>
>> Range("chpDocumentPU").Select
>>
>> Selection.ClearContents
>>
>> 'UV
>>
>> Range("chpDocumentUV").Select
>>
>> Selection.ClearContents
>>
>> 'Retour
>>
>> Range("a1").Select
>>
>> End Sub
===> c'est ici le plantage : Windows("vmDocFch").Activate
"michdenis" a écrit dans le message de news: %
Bonjour pireyzend,
| message d'erreur 9 : "l'indice n'appartiens pas a la selection"
Ce message est généré lorsque la référence à un objet est incorrect Exemple : Worksheets("Feuil25")..... Si le classeur n'a aucune feuille ayant le nom d'onglet "Feuil25"), une erreur de type 9 est générée.
En conséquence, sur la ligne mise en surbrillance jaune au moment de l'exécution... il devrait être assez facile de vérifier quelle référence à un objet est fautif.
P.-S. C'est bien de publier son code...c'est encore mieux si dans ton message tu peux identifier CLAIREMENT où tu éprouves une difficulté.
Salutations!
"pireyzend" a écrit dans le message de news:
Bonjour à tous,
J'ai un problème que je comprends pas sur une macro. J'explique le problème et met le code vba ci-apres.
Ce qui est en jaune indique l'endroit ou la macro "plante" et me met le message d'erreur 9 : "l'indice n'appartiens pas a la selection" vmDocFch, pointe sur une cellule qui donne un adressage d'enregistrement : exemple "nom client Nxxx" vmDocChm indique l'endroit d'enregistrement : exemple "c:nomsauvegardesvmDocFch.xls"
ça enregistre bien dans le rep de destination un classeur nommé comme "vmDocFch.xls", mais c'est une feuille blanche et la macro va pas plus loin que ce que j'ai indiqué en jaune sur la copie de la macro ci-dessous.
Ou est l'erreur ?
merci
'***Validation du Document
Sub DocumentValider()
Dim vNbreImp As Variant
Dim vmDocFch As Variant
Dim vmDocChm As Variant
vmDocFch = Range("vmDocFch")
vmDocChm = Range("vmDocChm")
'Conditions Validation
'Sur Date
If Range("vnDocumentDateDoc") = "" Then
MsgBox "Date du Document non renseignée."
Range("vnDocumentDateDoc").Select
Exit Sub
End If
'Sur N°
If Range("vnDocumentNumDoc") = "" Then
MsgBox "Numéro du Document non renseigné."
Range("vnDocumentNumDoc").Select
Exit Sub
End If
'Imprimer Document
'Nbre de copie à imprimer
vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression Document", 1)
If vNbreImp <= 0 Then GoTo 5
If IsNumeric(vNbreImp) Then
GoTo 10
Else: Do Until IsNumeric(vNbreImp)
5
MsgBox "La valeur doit être un nombre entier et > 0"
vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression Document", 1)
===> c'est ici le plantage : Windows("vmDocFch").Activate
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%2396lX7pRGHA.5500@TK2MSFTNGP12.phx.gbl...
Bonjour pireyzend,
| message d'erreur 9 : "l'indice n'appartiens pas a la selection"
Ce message est généré lorsque la référence à un objet est incorrect
Exemple : Worksheets("Feuil25").....
Si le classeur n'a aucune feuille ayant le nom d'onglet "Feuil25"), une
erreur de type 9 est générée.
En conséquence, sur la ligne mise en surbrillance jaune au moment de
l'exécution... il devrait être assez facile de vérifier quelle référence
à
un objet est fautif.
P.-S. C'est bien de publier son code...c'est encore mieux si dans ton
message tu peux identifier CLAIREMENT où tu éprouves une difficulté.
Salutations!
"pireyzend" <pireyzend@free.fr> a écrit dans le message de news:
O43PxNhRGHA.4792@TK2MSFTNGP14.phx.gbl...
Bonjour à tous,
J'ai un problème que je comprends pas sur une macro.
J'explique le problème et met le code vba ci-apres.
Ce qui est en jaune indique l'endroit ou la macro "plante" et me met le
message d'erreur 9 : "l'indice n'appartiens pas a la selection"
vmDocFch, pointe sur une cellule qui donne un adressage d'enregistrement
:
exemple "nom client Nxxx"
vmDocChm indique l'endroit d'enregistrement : exemple
"c:nomsauvegardesvmDocFch.xls"
ça enregistre bien dans le rep de destination un classeur nommé comme
"vmDocFch.xls", mais c'est une feuille blanche et la macro va pas plus
loin
que ce que j'ai indiqué en jaune sur la copie de la macro ci-dessous.
Ou est l'erreur ?
merci
'***Validation du Document
Sub DocumentValider()
Dim vNbreImp As Variant
Dim vmDocFch As Variant
Dim vmDocChm As Variant
vmDocFch = Range("vmDocFch")
vmDocChm = Range("vmDocChm")
'Conditions Validation
'Sur Date
If Range("vnDocumentDateDoc") = "" Then
MsgBox "Date du Document non renseignée."
Range("vnDocumentDateDoc").Select
Exit Sub
End If
'Sur N°
If Range("vnDocumentNumDoc") = "" Then
MsgBox "Numéro du Document non renseigné."
Range("vnDocumentNumDoc").Select
Exit Sub
End If
'Imprimer Document
'Nbre de copie à imprimer
vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression
Document", 1)
If vNbreImp <= 0 Then GoTo 5
If IsNumeric(vNbreImp) Then
GoTo 10
Else: Do Until IsNumeric(vNbreImp)
5
MsgBox "La valeur doit être un nombre entier et > 0"
vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression
Document", 1)
===> c'est ici le plantage : Windows("vmDocFch").Activate
"michdenis" a écrit dans le message de news: %
Bonjour pireyzend,
| message d'erreur 9 : "l'indice n'appartiens pas a la selection"
Ce message est généré lorsque la référence à un objet est incorrect Exemple : Worksheets("Feuil25")..... Si le classeur n'a aucune feuille ayant le nom d'onglet "Feuil25"), une erreur de type 9 est générée.
En conséquence, sur la ligne mise en surbrillance jaune au moment de l'exécution... il devrait être assez facile de vérifier quelle référence à un objet est fautif.
P.-S. C'est bien de publier son code...c'est encore mieux si dans ton message tu peux identifier CLAIREMENT où tu éprouves une difficulté.
Salutations!
"pireyzend" a écrit dans le message de news:
Bonjour à tous,
J'ai un problème que je comprends pas sur une macro. J'explique le problème et met le code vba ci-apres.
Ce qui est en jaune indique l'endroit ou la macro "plante" et me met le message d'erreur 9 : "l'indice n'appartiens pas a la selection" vmDocFch, pointe sur une cellule qui donne un adressage d'enregistrement : exemple "nom client Nxxx" vmDocChm indique l'endroit d'enregistrement : exemple "c:nomsauvegardesvmDocFch.xls"
ça enregistre bien dans le rep de destination un classeur nommé comme "vmDocFch.xls", mais c'est une feuille blanche et la macro va pas plus loin que ce que j'ai indiqué en jaune sur la copie de la macro ci-dessous.
Ou est l'erreur ?
merci
'***Validation du Document
Sub DocumentValider()
Dim vNbreImp As Variant
Dim vmDocFch As Variant
Dim vmDocChm As Variant
vmDocFch = Range("vmDocFch")
vmDocChm = Range("vmDocChm")
'Conditions Validation
'Sur Date
If Range("vnDocumentDateDoc") = "" Then
MsgBox "Date du Document non renseignée."
Range("vnDocumentDateDoc").Select
Exit Sub
End If
'Sur N°
If Range("vnDocumentNumDoc") = "" Then
MsgBox "Numéro du Document non renseigné."
Range("vnDocumentNumDoc").Select
Exit Sub
End If
'Imprimer Document
'Nbre de copie à imprimer
vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression Document", 1)
If vNbreImp <= 0 Then GoTo 5
If IsNumeric(vNbreImp) Then
GoTo 10
Else: Do Until IsNumeric(vNbreImp)
5
MsgBox "La valeur doit être un nombre entier et > 0"
vNbreImp = InputBox("Nombre d'exemplaire à imprimer :", "Impression Document", 1)