J'ai une macro :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.SaveAs _
Filename:="\\lag1\public\Devis_Dentaires\" _
& Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" &
Sheets("DEVIS").[A2] & ".xls"
ThisWorkbook.Saved = True
End Sub
qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier.
Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'.
Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.SaveAs _
Filename:="\lag1publicDevis_Dentaires" _
& Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" &
Sheets("DEVIS").[A2] & ".xls"
ThisWorkbook.Saved = True
End Sub
qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier.
Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'.
Comment puis éviter ce message avec ou sans enregistrement du même fichier.
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
TITUS
Désolée mais ca plante EXCEL. J'ai positionner le texte après Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
Désolée mais ca plante EXCEL.
J'ai positionner le texte après
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.SaveAs _
Filename:="\lag1publicDevis_Dentaires" _
& Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" &
Sheets("DEVIS").[A2] & ".xls"
ThisWorkbook.Saved = True
End Sub
qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier.
Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'.
Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Désolée mais ca plante EXCEL. J'ai positionner le texte après Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
jps
bonjour titus en ajoutant ce texte après la ligne Private Sub.....
On Error Resume Next
peut-être que cela ira mieux jps
"TITUS" a écrit dans le message de news:
Désolée mais ca plante EXCEL. J'ai positionner le texte après Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
bonjour titus
en ajoutant ce texte après la ligne Private Sub.....
On Error Resume Next
peut-être que cela ira mieux
jps
"TITUS" <TITUS@discussions.microsoft.com> a écrit dans le message de news:
FB9C2261-7D6B-42CB-BA20-F7A68BC15431@microsoft.com...
Désolée mais ca plante EXCEL.
J'ai positionner le texte après
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.SaveAs _
Filename:="\lag1publicDevis_Dentaires" _
& Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" &
Sheets("DEVIS").[A2] & ".xls"
ThisWorkbook.Saved = True
End Sub
qui me permet d'enregistrer directement le fichier avec un nom
obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier.
Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'.
Comment puis éviter ce message avec ou sans enregistrement du même
fichier.
bonjour titus en ajoutant ce texte après la ligne Private Sub.....
On Error Resume Next
peut-être que cela ira mieux jps
"TITUS" a écrit dans le message de news:
Désolée mais ca plante EXCEL. J'ai positionner le texte après Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
MichDenis
Il y a une problématique avec la façon que tu as choisi pour écrire ton code.
A ) Quand tu écris Sheets("DEVIS") ... sans faire référence directement au classeur contenant la feuille ainsi appelée, la feuille retenue est réputée faire parti du classeur dans lequel le code est écrit. Ce classeur n'est pas nécessairement le classeur actif. Pour ce faire, tu peux adapter la correction que j'ai apportée à ton code.
B ) Quand tu utilises ceci : With ActiveWorkbook Tu dois t'assurer que le classeur actif est réellement celui qui contient la feuille nommée car c'est dans 2 cellules de celle-ci que se retrouvent les éléments du nom de l'enregistrement du classeur Ce n'est pas évident lorsque plusieurs classeurs sont ouverts.
Si possible, pourquoi ne pas utiliser le nom du classeur With Workbooks("SonNom.xls") et le reste de la macro.
'----------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Ces symboles ne peuvet apparaître dans le nom 'du fichier ... tu dois t'assurer qu'ils ne sont 'pas présent dans les cellules E2 et A2
'caractères défendus : > , < , | , / , , * , ?
'Au besoin, tu ajoutes un bout de code pour t'assurer que les 'caractères énoncés sont absents du nom du fichier.
With ActiveWorkbook .SaveAs Filename:="lag1publicDevis_Dentaires" _ & .Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") _ & "_" & .Sheets("DEVIS").[A2] & ".xls" End With
ThisWorkbook.Saved = True
End Sub '-----------------------------------
"TITUS" a écrit dans le message de news:
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
Il y a une problématique avec la façon que tu as choisi pour écrire ton code.
A ) Quand tu écris Sheets("DEVIS") ... sans faire référence directement
au classeur contenant la feuille ainsi appelée, la feuille retenue est réputée
faire parti du classeur dans lequel le code est écrit. Ce classeur n'est pas
nécessairement le classeur actif. Pour ce faire, tu peux adapter la correction
que j'ai apportée à ton code.
B ) Quand tu utilises ceci : With ActiveWorkbook
Tu dois t'assurer que le classeur actif est réellement celui qui contient
la feuille nommée car c'est dans 2 cellules de celle-ci que se retrouvent
les éléments du nom de l'enregistrement du classeur
Ce n'est pas évident lorsque plusieurs classeurs sont ouverts.
Si possible, pourquoi ne pas utiliser le nom du classeur
With Workbooks("SonNom.xls") et le reste de la macro.
'-----------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Ces symboles ne peuvet apparaître dans le nom
'du fichier ... tu dois t'assurer qu'ils ne sont
'pas présent dans les cellules E2 et A2
'caractères défendus : > , < , | , / , , * , ?
'Au besoin, tu ajoutes un bout de code pour t'assurer que les
'caractères énoncés sont absents du nom du fichier.
With ActiveWorkbook
.SaveAs Filename:="\lag1publicDevis_Dentaires" _
& .Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") _
& "_" & .Sheets("DEVIS").[A2] & ".xls"
End With
ThisWorkbook.Saved = True
End Sub
'-----------------------------------
"TITUS" <TITUS@discussions.microsoft.com> a écrit dans le message de news:
590ECAF8-8845-4ED0-82C7-66D905AF0EE6@microsoft.com...
Bonjour à tous,
J'ai une macro :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.SaveAs _
Filename:="\lag1publicDevis_Dentaires" _
& Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" &
Sheets("DEVIS").[A2] & ".xls"
ThisWorkbook.Saved = True
End Sub
qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier.
Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'.
Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Il y a une problématique avec la façon que tu as choisi pour écrire ton code.
A ) Quand tu écris Sheets("DEVIS") ... sans faire référence directement au classeur contenant la feuille ainsi appelée, la feuille retenue est réputée faire parti du classeur dans lequel le code est écrit. Ce classeur n'est pas nécessairement le classeur actif. Pour ce faire, tu peux adapter la correction que j'ai apportée à ton code.
B ) Quand tu utilises ceci : With ActiveWorkbook Tu dois t'assurer que le classeur actif est réellement celui qui contient la feuille nommée car c'est dans 2 cellules de celle-ci que se retrouvent les éléments du nom de l'enregistrement du classeur Ce n'est pas évident lorsque plusieurs classeurs sont ouverts.
Si possible, pourquoi ne pas utiliser le nom du classeur With Workbooks("SonNom.xls") et le reste de la macro.
'----------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Ces symboles ne peuvet apparaître dans le nom 'du fichier ... tu dois t'assurer qu'ils ne sont 'pas présent dans les cellules E2 et A2
'caractères défendus : > , < , | , / , , * , ?
'Au besoin, tu ajoutes un bout de code pour t'assurer que les 'caractères énoncés sont absents du nom du fichier.
With ActiveWorkbook .SaveAs Filename:="lag1publicDevis_Dentaires" _ & .Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") _ & "_" & .Sheets("DEVIS").[A2] & ".xls" End With
ThisWorkbook.Saved = True
End Sub '-----------------------------------
"TITUS" a écrit dans le message de news:
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
TITUS
c'est bon JPS
Merci beaucoup* TITUS
bonjour titus en ajoutant ce texte après la ligne Private Sub.....
On Error Resume Next
peut-être que cela ira mieux jps
"TITUS" a écrit dans le message de news:
Désolée mais ca plante EXCEL. J'ai positionner le texte après Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
c'est bon JPS
Merci beaucoup*
TITUS
bonjour titus
en ajoutant ce texte après la ligne Private Sub.....
On Error Resume Next
peut-être que cela ira mieux
jps
"TITUS" <TITUS@discussions.microsoft.com> a écrit dans le message de news:
FB9C2261-7D6B-42CB-BA20-F7A68BC15431@microsoft.com...
Désolée mais ca plante EXCEL.
J'ai positionner le texte après
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.SaveAs _
Filename:="\lag1publicDevis_Dentaires" _
& Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" &
Sheets("DEVIS").[A2] & ".xls"
ThisWorkbook.Saved = True
End Sub
qui me permet d'enregistrer directement le fichier avec un nom
obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier.
Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'.
Comment puis éviter ce message avec ou sans enregistrement du même
fichier.
bonjour titus en ajoutant ce texte après la ligne Private Sub.....
On Error Resume Next
peut-être que cela ira mieux jps
"TITUS" a écrit dans le message de news:
Désolée mais ca plante EXCEL. J'ai positionner le texte après Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me suis-je trompée !
Salut TITUS
Rajoute en début de code cette ligne :
Application.DisplayAlerts = False
Celà devrait faire
Dis moi !!!
Bonjour à tous,
J'ai une macro : Private Sub Workbook_BeforeClose(Cancel As Boolean) ActiveWorkbook.SaveAs _ Filename:="lag1publicDevis_Dentaires" _ & Sheets("DEVIS").[E2] & "_" & Format(Date, "yymmdd") & "_" & Sheets("DEVIS").[A2] & ".xls" ThisWorkbook.Saved = True End Sub qui me permet d'enregistrer directement le fichier avec un nom obligatoire.
Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1004'. Comment puis éviter ce message avec ou sans enregistrement du même fichier.
Merci d'avance Cordialement TITUS
MichDenis
| On Error Resume Next
Si je peux me permettre JPS, cette ligne de code doit être utilisé seulement et seulement si on a identifié le type d'erreur susceptible de se produire par le code que l'on a écrit et que l'on s'est assuré que l'erreur produite n'aurait pas d'incidence sur l'exécution du reste du code de la procédure !!!
Dans le cas de cette ficelle, tu ne pourras jamais faire enregistrer à excel un fichier dont le nom contient au moins un caractère défendu > < | / * ? même si tu utilises ta commande.
Voir autre réponse sur le fil pour plus d'informations.
| On Error Resume Next
Si je peux me permettre JPS, cette ligne de code doit être
utilisé seulement et seulement si on a identifié le type d'erreur
susceptible de se produire par le code que l'on a écrit et
que l'on s'est assuré que l'erreur produite n'aurait pas d'incidence
sur l'exécution du reste du code de la procédure !!!
Dans le cas de cette ficelle, tu ne pourras jamais faire enregistrer
à excel un fichier dont le nom contient au moins un caractère
défendu > < | / * ? même si tu utilises ta commande.
Voir autre réponse sur le fil pour plus d'informations.
Si je peux me permettre JPS, cette ligne de code doit être utilisé seulement et seulement si on a identifié le type d'erreur susceptible de se produire par le code que l'on a écrit et que l'on s'est assuré que l'erreur produite n'aurait pas d'incidence sur l'exécution du reste du code de la procédure !!!
Dans le cas de cette ficelle, tu ne pourras jamais faire enregistrer à excel un fichier dont le nom contient au moins un caractère défendu > < | / * ? même si tu utilises ta commande.
Voir autre réponse sur le fil pour plus d'informations.
jps
bien sûr que tu peux te permettre, denis.... moi, j'ai compris que l'enregistrement (SaveAs) du classeur se faisait bien la première fois ("qui me permet d'enregistrer directement le fichier avec un nom obligatoire" dixit Titus) mias que le problème se situait à la fermeture du classeur ouvert une seconde fois ( "Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1" redixit Titus) je me suis dit alors qu'excel ne comprenait pas qu'on puisse SaveAs un classeur déjà SavéAs!!! et il semble que Titus soit content de mon chibrelot que demande le peuple? jps
"MichDenis" a écrit dans le message de news:
| On Error Resume Next
Si je peux me permettre JPS, cette ligne de code doit être utilisé seulement et seulement si on a identifié le type d'erreur susceptible de se produire par le code que l'on a écrit et que l'on s'est assuré que l'erreur produite n'aurait pas d'incidence sur l'exécution du reste du code de la procédure !!!
Dans le cas de cette ficelle, tu ne pourras jamais faire enregistrer à excel un fichier dont le nom contient au moins un caractère défendu > < | / * ? même si tu utilises ta commande.
Voir autre réponse sur le fil pour plus d'informations.
bien sûr que tu peux te permettre, denis....
moi, j'ai compris que l'enregistrement (SaveAs) du classeur se faisait bien
la première fois
("qui me permet d'enregistrer directement le fichier avec un nom
obligatoire" dixit Titus) mias que le problème se situait à la fermeture du
classeur ouvert une seconde fois ( "Le problème se situe au moment ou on
ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît
"Erreur d'exécution '1" redixit Titus)
je me suis dit alors qu'excel ne comprenait pas qu'on puisse SaveAs un
classeur déjà SavéAs!!!
et il semble que Titus soit content de mon chibrelot
que demande le peuple?
jps
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
O6R7yaP2HHA.4680@TK2MSFTNGP03.phx.gbl...
| On Error Resume Next
Si je peux me permettre JPS, cette ligne de code doit être
utilisé seulement et seulement si on a identifié le type d'erreur
susceptible de se produire par le code que l'on a écrit et
que l'on s'est assuré que l'erreur produite n'aurait pas d'incidence
sur l'exécution du reste du code de la procédure !!!
Dans le cas de cette ficelle, tu ne pourras jamais faire enregistrer
à excel un fichier dont le nom contient au moins un caractère
défendu > < | / * ? même si tu utilises ta commande.
Voir autre réponse sur le fil pour plus d'informations.
bien sûr que tu peux te permettre, denis.... moi, j'ai compris que l'enregistrement (SaveAs) du classeur se faisait bien la première fois ("qui me permet d'enregistrer directement le fichier avec un nom obligatoire" dixit Titus) mias que le problème se situait à la fermeture du classeur ouvert une seconde fois ( "Le problème se situe au moment ou on ouvre une seconde fois le fichier. Qaund on le ferme l'erreur macro apparaît "Erreur d'exécution '1" redixit Titus) je me suis dit alors qu'excel ne comprenait pas qu'on puisse SaveAs un classeur déjà SavéAs!!! et il semble que Titus soit content de mon chibrelot que demande le peuple? jps
"MichDenis" a écrit dans le message de news:
| On Error Resume Next
Si je peux me permettre JPS, cette ligne de code doit être utilisé seulement et seulement si on a identifié le type d'erreur susceptible de se produire par le code que l'on a écrit et que l'on s'est assuré que l'erreur produite n'aurait pas d'incidence sur l'exécution du reste du code de la procédure !!!
Dans le cas de cette ficelle, tu ne pourras jamais faire enregistrer à excel un fichier dont le nom contient au moins un caractère défendu > < | / * ? même si tu utilises ta commande.
Voir autre réponse sur le fil pour plus d'informations.
MichDenis
Que Titus soit content tant mieux. ! , la façon d'écrire son code est alambiquée pour demeurer poli. Tu copies cette macro dans le THISWORKBOOK DU CLASSEUR DE LA FENÊTRE VBA et tu Exécutes cette macro :
Sub Test() Msgbox sheets(1).name End sub
A ) Si tu as un classeur ouvert, elle te retourne le nom de l'onglet de la première feuille du classeur où le code est écrit
B ) insère un autre classeur avec un nom différent de l'onglet de la première feuille du classeur qui était ouvert. Assure-toi que c'est le nouveau classeur qui est actif et exécutes à nouveau la macro, il continue d'afficher le nom de la feuille du classeur où la macro a été écrite.
Pourquoi ? Parce que tu es, comme la procédure à titus, dans le module de classe ThisWorkbook (Ce module c'est l'objet représentant le classeur lui-même) dans un tel cas, les objets dont les références sont incomplètes sont réputées appartenir au classeur dans lequel le code est écrit contrairement au module standard.
;-))) C'est le même ostie de truc que les Range() qui sont écrits dans des modules feuillles. Pour signifier une plage de cellules qui appartient à un autre feuille il faut ajouter à la plage le nom de la feuille à laquelle appartient la plage de cellules.
IL n'en demeure pas moins vrai que la ligne de code "On error resume next" se doit d'être utilisé seulement et seulement si on SAIT le type d'erreur que la procédure est sensé rencontrer.
Que Titus soit content tant mieux. ! , la façon d'écrire
son code est alambiquée pour demeurer poli.
Tu copies cette macro dans le THISWORKBOOK DU CLASSEUR
DE LA FENÊTRE VBA et tu Exécutes cette macro :
Sub Test()
Msgbox sheets(1).name
End sub
A ) Si tu as un classeur ouvert, elle te retourne le nom de l'onglet
de la première feuille du classeur où le code est écrit
B ) insère un autre classeur avec un nom différent de l'onglet
de la première feuille du classeur qui était ouvert. Assure-toi
que c'est le nouveau classeur qui est actif et exécutes à nouveau
la macro, il continue d'afficher le nom de la feuille du classeur où
la macro a été écrite.
Pourquoi ? Parce que tu es, comme la procédure à titus, dans le module
de classe ThisWorkbook (Ce module c'est l'objet représentant le classeur lui-même)
dans un tel cas, les objets dont les références sont incomplètes sont réputées
appartenir au classeur dans lequel le code est écrit contrairement au
module standard.
;-)))
C'est le même ostie de truc que les Range() qui sont écrits dans des modules
feuillles. Pour signifier une plage de cellules qui appartient à un autre feuille
il faut ajouter à la plage le nom de la feuille à laquelle appartient la plage de cellules.
IL n'en demeure pas moins vrai que la ligne de code "On error resume next"
se doit d'être utilisé seulement et seulement si on SAIT le type d'erreur que
la procédure est sensé rencontrer.
Que Titus soit content tant mieux. ! , la façon d'écrire son code est alambiquée pour demeurer poli. Tu copies cette macro dans le THISWORKBOOK DU CLASSEUR DE LA FENÊTRE VBA et tu Exécutes cette macro :
Sub Test() Msgbox sheets(1).name End sub
A ) Si tu as un classeur ouvert, elle te retourne le nom de l'onglet de la première feuille du classeur où le code est écrit
B ) insère un autre classeur avec un nom différent de l'onglet de la première feuille du classeur qui était ouvert. Assure-toi que c'est le nouveau classeur qui est actif et exécutes à nouveau la macro, il continue d'afficher le nom de la feuille du classeur où la macro a été écrite.
Pourquoi ? Parce que tu es, comme la procédure à titus, dans le module de classe ThisWorkbook (Ce module c'est l'objet représentant le classeur lui-même) dans un tel cas, les objets dont les références sont incomplètes sont réputées appartenir au classeur dans lequel le code est écrit contrairement au module standard.
;-))) C'est le même ostie de truc que les Range() qui sont écrits dans des modules feuillles. Pour signifier une plage de cellules qui appartient à un autre feuille il faut ajouter à la plage le nom de la feuille à laquelle appartient la plage de cellules.
IL n'en demeure pas moins vrai que la ligne de code "On error resume next" se doit d'être utilisé seulement et seulement si on SAIT le type d'erreur que la procédure est sensé rencontrer.
jps
danke sehr, mein Obersturmführer Herr jps von Peaucholais
"MichDenis" a écrit dans le message de news:
Que Titus soit content tant mieux. ! , la façon d'écrire son code est alambiquée pour demeurer poli. Tu copies cette macro dans le THISWORKBOOK DU CLASSEUR DE LA FENÊTRE VBA et tu Exécutes cette macro :
Sub Test() Msgbox sheets(1).name End sub
A ) Si tu as un classeur ouvert, elle te retourne le nom de l'onglet de la première feuille du classeur où le code est écrit
B ) insère un autre classeur avec un nom différent de l'onglet de la première feuille du classeur qui était ouvert. Assure-toi que c'est le nouveau classeur qui est actif et exécutes à nouveau la macro, il continue d'afficher le nom de la feuille du classeur où la macro a été écrite.
Pourquoi ? Parce que tu es, comme la procédure à titus, dans le module de classe ThisWorkbook (Ce module c'est l'objet représentant le classeur lui-même) dans un tel cas, les objets dont les références sont incomplètes sont réputées appartenir au classeur dans lequel le code est écrit contrairement au module standard.
;-))) C'est le même ostie de truc que les Range() qui sont écrits dans des modules feuillles. Pour signifier une plage de cellules qui appartient à un autre feuille il faut ajouter à la plage le nom de la feuille à laquelle appartient la plage de cellules.
IL n'en demeure pas moins vrai que la ligne de code "On error resume next" se doit d'être utilisé seulement et seulement si on SAIT le type d'erreur que la procédure est sensé rencontrer.
danke sehr, mein Obersturmführer
Herr jps von Peaucholais
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
eiDturQ2HHA.4004@TK2MSFTNGP05.phx.gbl...
Que Titus soit content tant mieux. ! , la façon d'écrire
son code est alambiquée pour demeurer poli.
Tu copies cette macro dans le THISWORKBOOK DU CLASSEUR
DE LA FENÊTRE VBA et tu Exécutes cette macro :
Sub Test()
Msgbox sheets(1).name
End sub
A ) Si tu as un classeur ouvert, elle te retourne le nom de l'onglet
de la première feuille du classeur où le code est écrit
B ) insère un autre classeur avec un nom différent de l'onglet
de la première feuille du classeur qui était ouvert. Assure-toi
que c'est le nouveau classeur qui est actif et exécutes à nouveau
la macro, il continue d'afficher le nom de la feuille du classeur où
la macro a été écrite.
Pourquoi ? Parce que tu es, comme la procédure à titus, dans le module
de classe ThisWorkbook (Ce module c'est l'objet représentant le classeur
lui-même)
dans un tel cas, les objets dont les références sont incomplètes sont
réputées
appartenir au classeur dans lequel le code est écrit contrairement au
module standard.
;-)))
C'est le même ostie de truc que les Range() qui sont écrits dans des
modules
feuillles. Pour signifier une plage de cellules qui appartient à un autre
feuille
il faut ajouter à la plage le nom de la feuille à laquelle appartient la
plage de cellules.
IL n'en demeure pas moins vrai que la ligne de code "On error resume next"
se doit d'être utilisé seulement et seulement si on SAIT le type d'erreur
que
la procédure est sensé rencontrer.
danke sehr, mein Obersturmführer Herr jps von Peaucholais
"MichDenis" a écrit dans le message de news:
Que Titus soit content tant mieux. ! , la façon d'écrire son code est alambiquée pour demeurer poli. Tu copies cette macro dans le THISWORKBOOK DU CLASSEUR DE LA FENÊTRE VBA et tu Exécutes cette macro :
Sub Test() Msgbox sheets(1).name End sub
A ) Si tu as un classeur ouvert, elle te retourne le nom de l'onglet de la première feuille du classeur où le code est écrit
B ) insère un autre classeur avec un nom différent de l'onglet de la première feuille du classeur qui était ouvert. Assure-toi que c'est le nouveau classeur qui est actif et exécutes à nouveau la macro, il continue d'afficher le nom de la feuille du classeur où la macro a été écrite.
Pourquoi ? Parce que tu es, comme la procédure à titus, dans le module de classe ThisWorkbook (Ce module c'est l'objet représentant le classeur lui-même) dans un tel cas, les objets dont les références sont incomplètes sont réputées appartenir au classeur dans lequel le code est écrit contrairement au module standard.
;-))) C'est le même ostie de truc que les Range() qui sont écrits dans des modules feuillles. Pour signifier une plage de cellules qui appartient à un autre feuille il faut ajouter à la plage le nom de la feuille à laquelle appartient la plage de cellules.
IL n'en demeure pas moins vrai que la ligne de code "On error resume next" se doit d'être utilisé seulement et seulement si on SAIT le type d'erreur que la procédure est sensé rencontrer.
MichDenis
| danke sehr, mein Obersturmführer
Ok, je m'en vais me perdre dans la nature ! Ça risque que d'être long, le territoire est grand. ;-)
| danke sehr, mein Obersturmführer
Ok, je m'en vais me perdre dans la nature !
Ça risque que d'être long, le territoire est grand.
;-)