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.
"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
Bonjour Yoyo,
Publie ici ta macro qui te cause problème.
Salutations!
"Yoyo" <lemoine2.yohann@laposte.net> a écrit dans le message de news: 1138110299.975456.12770@f14g2000cwb.googlegroups.com...
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.
"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
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"
'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
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
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"
'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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
Application.CutCopyMode = False 'supprime les pointillés du copier
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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 _
:=False, Transpose:=False
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:=False, Windows:=False
ActiveSheet.Protect DrawingObjects:=False, Contents:=False,
Scenarios:=False
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:=False, _
CreateBackup:=False
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
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"
'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
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
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"
'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
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
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" <lemoine2.yohann@laposte.net> a écrit dans le message de news: 1138124691.935657.305740@z14g2000cwz.googlegroups.com...
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"
'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
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
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"
'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
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
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
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
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
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
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" <lemoine2.yohann@laposte.net> a écrit dans le message de news: 1138181741.870176.113210@g44g2000cwa.googlegroups.com...
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
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
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
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
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
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
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" <lemoine2.yohann@laposte.net> a écrit dans le message de news: 1138194373.521941.13240@f14g2000cwb.googlegroups.com...
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
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
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
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
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
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