OVH Cloud OVH Cloud

Excel.exe a généré une erreur

10 réponses
Avatar
Yoyo
Bonjour =E0 tous,


J'ai une macro qui environ une fois sur deux me g=E9n=E8re une erreur qui
me ferme compl=E8tement excel.
je suis obliger de r=E9ouvrir excel et de relancer cette macro et la
plus de soucis.

J'aimerai savoir pourquoi?


Cordialement Yohann

10 réponses

Avatar
Yamaël
c'est trop vague comme description je dirais ;)
Avatar
michdenis
Bonjour Yoyo,

Publie ici ta macro qui te cause problème.


Salutations!


"Yoyo" a écrit dans le message de news:
Bonjour à tous,


J'ai une macro qui environ une fois sur deux me génère une erreur qui
me ferme complètement excel.
je suis obliger de réouvrir excel et de relancer cette macro et la
plus de soucis.

J'aimerai savoir pourquoi?


Cordialement Yohann
Avatar
Yoyo
Bonsoir merci de me lire

je vous transmet ma macro comme je débute elle n'est pas des plus
courte:
Cette macro me permet de créer une feuille de synthèse des donnée
qui on été rentré dans la feuille quote file et de la sauvegarder
dans un autre dossier



Dim ldeb, lfin As Variant 'variable de ligne sélectionnée pour
travail
Dim difligne '=LD-LF
Dim finmef 'ligne de fin de mise en forme
Dim Ldébut
Dim LD, LF 'donne les ligne de début et de fin de la selection
Sub QUOTE_MAKER()
'
' QUOTE_MAKER Macro
' Macro enregistrée le 02/12/2005 par YL
'

'Donne la ligne de début et de fin de la sélection
With Selection

LD = .Row
LF = LD + .Rows.Count - 1
End With

' initialise les variables
ldeb = LD
lfin = LF

'Génération du quote log

' Met dans codepers le code ducommercial qui a réalisé la quote

Select Case Range("G" & LD, "G" & LD).Value

Case "Emmanuelle LIEBE"
codepers = "E"
Case "Sandrine PETIT"
codepers = "S"
Case "Isabelle VIALA"
codepers = "I"
Case "Pierre LESUR"
codepers = "P"
Case "Olivier GASTON"
codepers = "O"
Case "Evelyne THOMASSIN"
codepers = "T"
Case "Claire AIME"
codepers = "C"
Case "Marie-Dominique RAFFY"
codepers = "M"

End Select

codeann = Right(Year(Date), 1)
codeclé = Right(Hex(Hour(Time) * Minute(Time)), 2)

nomquote = (codepers & codeann & Month(Date) & Day(Date) & codeclé)

'recopie quote log dans quote file
Sheets("Quote file EMS").Select

For Ldébut = LD To LF
Range("F" & Ldébut) = nomquote
Next Ldébut


' Création d'une quotation


Sheets("Template Quote VSE").Select
Sheets("Template Quote VSE").Copy after:=Sheets(3) ' Copie la
feuille template après la feuille 2
Sheets("Template Quote VSE (2)").Select
Sheets("Template Quote VSE (2)").Name = "Quote" 'renomme la feuille





' Copy des différentes colonne pour la quotation

'BU

Sheets("Quote file EMS").Select
Range("AG" & ldeb, "AG" & lfin).Copy 'selectionne la colonne BU
Sheets("Quote").Select
Range("B26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Vishay P/N

Sheets("Quote file EMS").Select
Range("N" & ldeb, "N" & lfin).Copy 'selectionne la colonne Vishay
P/N
Sheets("Quote").Select
Range("C26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du
copier'

'Customer P/N

Sheets("Quote file EMS").Select
Range("P" & ldeb, "P" & lfin).Copy 'selectionne la colonne
CustomerP/N
Sheets("Quote").Select
Range("D26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du
copier'


'QTY

Sheets("Quote file EMS").Select
Range("R" & ldeb, "R" & lfin).Copy 'selectionne la colonne QTY
Sheets("Quote").Select
Range("E26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Price /100

Sheets("Quote file EMS").Select
Range("S" & ldeb, "S" & lfin).Copy 'selectionne la colonne Price /
100
Sheets("Quote").Select
Range("F26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'MOQ

Sheets("Quote file EMS").Select
Range("U" & ldeb, "U" & lfin).Copy 'selectionne la colonne MOQ
Sheets("Quote").Select
Range("G26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Multiple

Sheets("Quote file EMS").Select
Range("V" & ldeb, "V" & lfin).Copy 'selectionne la colonne Multiple
Sheets("Quote").Select
Range("H26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Lead

Sheets("Quote file EMS").Select
Range("W" & ldeb, "W" & lfin).Copy 'selectionne la colonne Lead
Sheets("Quote").Select
Range("I26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Packaging & Comments

Sheets("Quote file EMS").Select
Range("X" & ldeb, "X" & lfin).Copy 'selectionne la colonne
Packaging & Comments
Sheets("Quote").Select
Range("J26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Contact Person

Sheets("Quote file EMS").Select
Range("J" & ldeb).Copy 'selectionne la colonne Contact person
Sheets("Quote").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'COMPANY

Sheets("Quote file EMS").Select
Range("I" & ldeb).Copy 'selectionne la colonne COMPANY
Sheets("Quote").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Country

Sheets("Quote file EMS").Select
Range("K" & ldeb).Copy 'selectionne la colonne Country
Sheets("Quote").Select
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

' end customer

Sheets("Quote file EMS").Select
Range("L" & ldeb).Copy 'selectionne la colonne end customer
Sheets("Quote").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'customer request

Sheets("Quote file EMS").Select
Range("E" & ldeb).Copy 'selectionne la colonne customer request
Sheets("Quote").Select
Range("B7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'DATE RESPONSE

Sheets("Quote file EMS").Select
Range("C" & ldeb).Copy 'selectionne la colonne DATE REPONSE
Sheets("Quote").Select
Range("D7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'DATE VALIDITE

Sheets("Quote file EMS").Select
Range("D" & ldeb).Copy 'selectionne la colonne DATE VALIDITE
Sheets("Quote").Select
Range("I11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'PERSONNE QUI FAIT LA QUOTE

Sheets("Quote file EMS").Select
Range("G" & ldeb).Copy 'selectionne la colonne PERSONNE QUI FAIT LA
QUOTE
Sheets("Quote").Select
Range("A19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier


'PERSONNE QUI envoie LA QUOTE

Sheets("Quote file EMS").Select
Range("H" & ldeb).Copy 'selectionne la colonne PERSONNE QUI envoie
LA QUOTE
Sheets("Quote").Select
Range("o26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier


'INCOTERM

Sheets("Quote file EMS").Select
Range("Y" & ldeb).Copy 'selectionne la colonne incoterm
Sheets("Quote").Select
Range("M26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'CONDITION OF PAYMENT

Sheets("Quote file EMS").Select
Range("Z" & ldeb).Copy 'selectionne la colonne condition of
paiement
Sheets("Quote").Select
Range("N26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier


'Copy Quote LOG

Sheets("Quote").Select
Range("I16") = nomquote


'Mise en forme du fichier

difligne = lfin - ldeb
finmef = difligne + 26

'Encadrement des quotations
Sheets("Quote").Select
Range("A26", "J" & finmef).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
If difligne > 0 Then
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End If

Application.CutCopyMode = False 'supprime les pointillés du copier


'Enregistrement de la quotation

Sheets("Quote").Select
Sheets("Quote").Move 'déplace la feuille quote dans un nouveau
classeur
ActiveWorkbook.Protect Structure:úlse, Windows:úlse
ActiveSheet.Protect DrawingObjects:úlse, Contents:úlse,
Scenarios:úlse


Dim fil As Variant 'fil est le nom de la quotation
fil = Range("I16")
Range("E1").Select
ActiveWorkbook.SaveAs Filename:="C:Mes documentsDossier
YohannVishayVishay 14_11_05sauvegarde quotation" + fil,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWindow.Close

'Lien hypertextext

Dim toto As Variant 'variable qui contient nom quote log.xls
toto = fil + ".xls"
With Worksheets(1)
.Hyperlinks.Add .Range("F" & LD, "F" & LF), "C:Mes
documentsDossier YohannVishayVishay 14_11_05sauvegarde quotation"
+ toto
End With



'Retour à la dernière ligne enregistrée

Windows("Quote_file_EMS.xls").Activate
Sheets("Quote file EMS").Activate
Range("A3").Select
Selection.End(xlDown).Select


End Sub


Merci pour votre aide
Avatar
michdenis
Bonjour Yoyo,

Difficile de tester sans avoir l'application ...

A ) Pourquoi utiliser des variables au niveau du module plutôt
que de déclarer les variables directement dans la procédure.

Tu devrais donner le type à tes variables et à moins que cela
soit nécessaire, intègre la déclaration de tes variables dans ta procédure.

Dim LDeb, LFin As Long 'variable de ligne sélectionnée pour travail
Dim DifLigne As Long '=LD-LF
Dim FinMef As Long 'ligne de fin de mise en forme
Dim Ldébut As Long
Dim LD, LF As Long 'donne les ligne de début et de fin de la selection
Dim CodeAnn As String
Dim CodeClé As String
Dim NomQuote As String

A ) dès le début de ta macro, ajoute cette ligne de code pour t'assurer
que le bon classeur est actif au moment de déclencher la macro
ThisWorkbook.Activate

Et pour tester ton code,
A ) Exécute la première fois ta macro ( tu dis que tout va bien )
B ) à la deuxième exécution, utilise le pas à pas pour exécuter la macro
- tu places ton curseur dans la macro entre le Sub ...et le End Sub
- et tu utilises la touche F8 pour exécuter une ligne de code à la fois

Si ta macro se plante, tu vas pouvoir connaître la ligne de code problématique !
Si tu ne sais pas la corriger...en donnant cette information, cela devrait plus facile
pour t'orienter vers les modifications à apporter !


Salutations!









"Yoyo" a écrit dans le message de news:
Bonsoir merci de me lire

je vous transmet ma macro comme je débute elle n'est pas des plus
courte:
Cette macro me permet de créer une feuille de synthèse des donnée
qui on été rentré dans la feuille quote file et de la sauvegarder
dans un autre dossier



Dim ldeb, lfin As Variant 'variable de ligne sélectionnée pour
travail
Dim difligne '=LD-LF
Dim finmef 'ligne de fin de mise en forme
Dim Ldébut
Dim LD, LF 'donne les ligne de début et de fin de la selection
Sub QUOTE_MAKER()
'
' QUOTE_MAKER Macro
' Macro enregistrée le 02/12/2005 par YL
'

'Donne la ligne de début et de fin de la sélection
With Selection

LD = .Row
LF = LD + .Rows.Count - 1
End With

' initialise les variables
ldeb = LD
lfin = LF

'Génération du quote log

' Met dans codepers le code ducommercial qui a réalisé la quote

Select Case Range("G" & LD, "G" & LD).Value

Case "Emmanuelle LIEBE"
codepers = "E"
Case "Sandrine PETIT"
codepers = "S"
Case "Isabelle VIALA"
codepers = "I"
Case "Pierre LESUR"
codepers = "P"
Case "Olivier GASTON"
codepers = "O"
Case "Evelyne THOMASSIN"
codepers = "T"
Case "Claire AIME"
codepers = "C"
Case "Marie-Dominique RAFFY"
codepers = "M"

End Select

codeann = Right(Year(Date), 1)
codeclé = Right(Hex(Hour(Time) * Minute(Time)), 2)

nomquote = (codepers & codeann & Month(Date) & Day(Date) & codeclé)

'recopie quote log dans quote file
Sheets("Quote file EMS").Select

For Ldébut = LD To LF
Range("F" & Ldébut) = nomquote
Next Ldébut


' Création d'une quotation


Sheets("Template Quote VSE").Select
Sheets("Template Quote VSE").Copy after:=Sheets(3) ' Copie la
feuille template après la feuille 2
Sheets("Template Quote VSE (2)").Select
Sheets("Template Quote VSE (2)").Name = "Quote" 'renomme la feuille





' Copy des différentes colonne pour la quotation

'BU

Sheets("Quote file EMS").Select
Range("AG" & ldeb, "AG" & lfin).Copy 'selectionne la colonne BU
Sheets("Quote").Select
Range("B26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Vishay P/N

Sheets("Quote file EMS").Select
Range("N" & ldeb, "N" & lfin).Copy 'selectionne la colonne Vishay
P/N
Sheets("Quote").Select
Range("C26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du
copier'

'Customer P/N

Sheets("Quote file EMS").Select
Range("P" & ldeb, "P" & lfin).Copy 'selectionne la colonne
CustomerP/N
Sheets("Quote").Select
Range("D26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du
copier'


'QTY

Sheets("Quote file EMS").Select
Range("R" & ldeb, "R" & lfin).Copy 'selectionne la colonne QTY
Sheets("Quote").Select
Range("E26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Price /100

Sheets("Quote file EMS").Select
Range("S" & ldeb, "S" & lfin).Copy 'selectionne la colonne Price /
100
Sheets("Quote").Select
Range("F26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'MOQ

Sheets("Quote file EMS").Select
Range("U" & ldeb, "U" & lfin).Copy 'selectionne la colonne MOQ
Sheets("Quote").Select
Range("G26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Multiple

Sheets("Quote file EMS").Select
Range("V" & ldeb, "V" & lfin).Copy 'selectionne la colonne Multiple
Sheets("Quote").Select
Range("H26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Lead

Sheets("Quote file EMS").Select
Range("W" & ldeb, "W" & lfin).Copy 'selectionne la colonne Lead
Sheets("Quote").Select
Range("I26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Packaging & Comments

Sheets("Quote file EMS").Select
Range("X" & ldeb, "X" & lfin).Copy 'selectionne la colonne
Packaging & Comments
Sheets("Quote").Select
Range("J26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Contact Person

Sheets("Quote file EMS").Select
Range("J" & ldeb).Copy 'selectionne la colonne Contact person
Sheets("Quote").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'COMPANY

Sheets("Quote file EMS").Select
Range("I" & ldeb).Copy 'selectionne la colonne COMPANY
Sheets("Quote").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'Country

Sheets("Quote file EMS").Select
Range("K" & ldeb).Copy 'selectionne la colonne Country
Sheets("Quote").Select
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

' end customer

Sheets("Quote file EMS").Select
Range("L" & ldeb).Copy 'selectionne la colonne end customer
Sheets("Quote").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'customer request

Sheets("Quote file EMS").Select
Range("E" & ldeb).Copy 'selectionne la colonne customer request
Sheets("Quote").Select
Range("B7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'DATE RESPONSE

Sheets("Quote file EMS").Select
Range("C" & ldeb).Copy 'selectionne la colonne DATE REPONSE
Sheets("Quote").Select
Range("D7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'DATE VALIDITE

Sheets("Quote file EMS").Select
Range("D" & ldeb).Copy 'selectionne la colonne DATE VALIDITE
Sheets("Quote").Select
Range("I11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'PERSONNE QUI FAIT LA QUOTE

Sheets("Quote file EMS").Select
Range("G" & ldeb).Copy 'selectionne la colonne PERSONNE QUI FAIT LA
QUOTE
Sheets("Quote").Select
Range("A19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier


'PERSONNE QUI envoie LA QUOTE

Sheets("Quote file EMS").Select
Range("H" & ldeb).Copy 'selectionne la colonne PERSONNE QUI envoie
LA QUOTE
Sheets("Quote").Select
Range("o26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier


'INCOTERM

Sheets("Quote file EMS").Select
Range("Y" & ldeb).Copy 'selectionne la colonne incoterm
Sheets("Quote").Select
Range("M26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier

'CONDITION OF PAYMENT

Sheets("Quote file EMS").Select
Range("Z" & ldeb).Copy 'selectionne la colonne condition of
paiement
Sheets("Quote").Select
Range("N26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False 'supprime les pointillés du copier


'Copy Quote LOG

Sheets("Quote").Select
Range("I16") = nomquote


'Mise en forme du fichier

difligne = lfin - ldeb
finmef = difligne + 26

'Encadrement des quotations
Sheets("Quote").Select
Range("A26", "J" & finmef).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
If difligne > 0 Then
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End If

Application.CutCopyMode = False 'supprime les pointillés du copier


'Enregistrement de la quotation

Sheets("Quote").Select
Sheets("Quote").Move 'déplace la feuille quote dans un nouveau
classeur
ActiveWorkbook.Protect Structure:úlse, Windows:úlse
ActiveSheet.Protect DrawingObjects:úlse, Contents:úlse,
Scenarios:úlse


Dim fil As Variant 'fil est le nom de la quotation
fil = Range("I16")
Range("E1").Select
ActiveWorkbook.SaveAs Filename:="C:Mes documentsDossier
YohannVishayVishay 14_11_05sauvegarde quotation" + fil,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWindow.Close

'Lien hypertextext

Dim toto As Variant 'variable qui contient nom quote log.xls
toto = fil + ".xls"
With Worksheets(1)
.Hyperlinks.Add .Range("F" & LD, "F" & LF), "C:Mes
documentsDossier YohannVishayVishay 14_11_05sauvegarde quotation"
+ toto
End With



'Retour à la dernière ligne enregistrée

Windows("Quote_file_EMS.xls").Activate
Sheets("Quote file EMS").Activate
Range("A3").Select
Selection.End(xlDown).Select


End Sub


Merci pour votre aide
Avatar
Yoyo
Merci Michdenis

je vais mettre thisworkbook.activate au début de ma macro.

Pour mes variable je les ai déclaré au dessus car elles me servent
dans d'autres macros.

Je suis désolé mais je ne peux pas t'envoyer l'application (ils
appellent ça des données confidentielles)

Ma macro plante plus souvent à la première utilisation ( je
sélectionnne les lignes dont j'ai besoin et je lance ma macro) et elle
plante à cette ligne au momment de la copie
le programme se ferme et avec l'erreur et lorsque jue le relance tout
va bien

Création d'une quotation

Sheets("Template Quote VSE").Select
' C'est la ligne ou elle plante
Sheets("Template Quote VSE").Copy after:=Sheets(3) ' Copie la
Sheets("Template Quote VSE (2)").Select
Sheets("Template Quote VSE (2)").Name = "Quote" 'renomme la feuille


Je te remercie de me lire et de prendre du temps pour me répondre et
je te tiens au courant de la suite

Bonne jounée Yoyo
Avatar
michdenis
Bonjour Yoyo,

Remplace ton bout de code ...par ce qui suit ...

Comme tu fais une copie de ta feuille modèle
pour la situer après la feuille dont l'index est 3.
Assure toi que tu as au moins 3 feuilles visibles
dans ton classeur au moment de lancer la procédure.

Dim VoirFeuille As Integer

Application.ScreenUpdating = False
With Sheets("Template Quote VSE")
VoirFeuille = .Visible
.Visible = xlSheetVisible
.Copy After:=Sheets(3)
With ActiveSheet
.Name = "Quote"
End With
.Visible = VoirFeuille
End With



Salutations!




"Yoyo" a écrit dans le message de news:
Merci Michdenis

je vais mettre thisworkbook.activate au début de ma macro.

Pour mes variable je les ai déclaré au dessus car elles me servent
dans d'autres macros.

Je suis désolé mais je ne peux pas t'envoyer l'application (ils
appellent ça des données confidentielles)

Ma macro plante plus souvent à la première utilisation ( je
sélectionnne les lignes dont j'ai besoin et je lance ma macro) et elle
plante à cette ligne au momment de la copie
le programme se ferme et avec l'erreur et lorsque jue le relance tout
va bien

Création d'une quotation

Sheets("Template Quote VSE").Select
' C'est la ligne ou elle plante
Sheets("Template Quote VSE").Copy after:=Sheets(3) ' Copie la
Sheets("Template Quote VSE (2)").Select
Sheets("Template Quote VSE (2)").Name = "Quote" 'renomme la feuille


Je te remercie de me lire et de prendre du temps pour me répondre et
je te tiens au courant de la suite

Bonne jounée Yoyo
Avatar
Yoyo
Merci

Je vais changer ce code

pour info thisworkbook n'a rien changé

Cordialement Yoyo
Avatar
Yoyo
Rebonjour michdenis


merci pour ton bout de code mais il n'a rien changer, parcontre j'ai
relevé l'erreur qui est générer avant l'erreur Excel.exe

1)la méthode 'Name' fe l'objet worksheet a échoué

2) Ensuite j'ai le message EXCEL.exe a généré des erreurs et il
ferme EXcel

J'espère que cela te parlera car moi non

Cordialement Yoyo
Avatar
michdenis
Bonjour Yoyo,

Est-ce que ton classeur est protégé ? Ta ou Tes feuilles ?
As-tu des feuilles qui sont masquées ?
As-tu dans ton classeur une feuille qui porte déjà
le nom de la feuille "Quote" ?

Si oui, essaie ceci :

'-------------------------------
Dim VoirFeuille As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Quote").Delete
Application.DisplayAlerts = True

With Sheets("Template Quote VSE")
VoirFeuille = .Visible
.Visible = xlSheetVisible
.Copy After:=Sheets(3)
With ActiveSheet
.Name = "Quote"
End With
.Visible = VoirFeuille
End With
'-------------------------------


Salutations!



"Yoyo" a écrit dans le message de news:
Rebonjour michdenis


merci pour ton bout de code mais il n'a rien changer, parcontre j'ai
relevé l'erreur qui est générer avant l'erreur Excel.exe

1)la méthode 'Name' fe l'objet worksheet a échoué

2) Ensuite j'ai le message EXCEL.exe a généré des erreurs et il
ferme EXcel

J'espère que cela te parlera car moi non

Cordialement Yoyo
Avatar
Yoyo
Me revoila


je n'ai que trois deuille dans mon classeur

en 1 Quote file EMS
En 2 Data
En 3 Template quote VSE

Donc je ne dois pas essayer d'effacer la feuille quote
parcontre le fait de supprimer les alerte windows peut etre règlera mo
n problème je vais essayer

Merci

Yoyo