Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme de macro d'enregistrement de feuille dans un rep

1 réponse
Avatar
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

1 réponse

Avatar
pireyzend
J'ai trouvé d'ou venait l'erreur.

J'avais tout simplement omis de mettre l'extension ".xls" sur la cellule
nommée : vmDocFch

merci a michdenis qui m'a mis sur la piste

amicalement all



"pireyzend" a écrit dans le message de news:

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" a écrit dans le message de news:

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" a écrit dans le message de news:

Voila, j'ai mis ou ce produit le "plantage"

amicalement

Workbooks.Add

ActiveWorkbook.SaveAs Filename:=vmDocChm, _

FileFormat:=xlNormal, Password:="", WriteResPassword:="", _

ReadOnlyRecommended:úlse, CreateBackup:úlse

Windows("F-excel.xls").Activate

Sheets("Imp").Select

Cells.Select

Selection.Copy

===> 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)

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:úlse, CreateBackup:úlse

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:úlse, Transpose:úlse

'copier les formats uniquement

Selection.PasteSpecial Paste:=xlFormats, Operation:= _

xlNone, SkipBlanks:úlse, Transpose:úlse

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