OVH Cloud OVH Cloud

ActiveWorkbook.SaveAs

5 réponses
Avatar
Érico
Voici ma macro qui enegistre le fichiers sous un nom dans uen cellule.
J'ai un message d'erreur lorsque j'annule l'enregistrement et ça bogue à:

ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal

__________________________________________________________
Sheets("Établissements").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("2004-2005").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
Sheets("2003-2004").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
Sheets("2005-2006").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False


Sheets("Établissements").Select
nomfichsauv = Range("E4").Value
If nomfichsauv <> 0 Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
End If

Sheets("Accueil").Select

If nomfichsauv <> 0 Then
Range("H15").Select
Selection.Font.ColorIndex = 36
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
Range("H16").Select
ActiveCell.FormulaR1C1 = nomfichsauv
Else
Range("H15").Select
ActiveCell.FormulaR1C1 = " "
Range("H16").Select
ActiveCell.FormulaR1C1 = " "
End If

Range("A1").Select

'Application.ScreenUpdating = False
End Sub

5 réponses

Avatar
JLuc
*Bonjour Érico*,
J'ai remanié un peu ta macro, elle devrait toujours tourner de la meme
facon.
Par contre, j'ai rajouter un test de plus pour le nom du fichier. Je ne
vois pas où tu peux faire une annulation ???

Voici ma macro qui enegistre le fichiers sous un nom dans uen cellule.
J'ai un message d'erreur lorsque j'annule l'enregistrement et ça bogue à:

ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal

__________________________________________________________
Sheets("Établissements").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("2004-2005").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2003-2004").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2005-2006").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Sheets("Établissements").Select
nomfichsauv = Range("E4").Value
If nomfichsauv <> 0 Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
End If

Sheets("Accueil").Select

If nomfichsauv <> 0 Then
Range("H15").Select
Selection.Font.ColorIndex = 36
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
Range("H16").Select
ActiveCell.FormulaR1C1 = nomfichsauv
Else
Range("H15").Select
ActiveCell.FormulaR1C1 = " "
Range("H16").Select
ActiveCell.FormulaR1C1 = " "
End If

Range("A1").Select

'Application.ScreenUpdating = False
End Sub


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JLuc
Suis je distrais, j'ai oublié de te joindre le code :-?
Sub sauvesous()
Sheets("Établissements").Range("E3").Copy
Sheets("2004-2005").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2003-2004").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2005-2006").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


nomfichsauv = Sheets("Établissements").Range("E4")
If nomfichsauv <> 0 And nomfichsauv <> "" Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
With Sheets("Accueil").Range("H15")
.Font.ColorIndex = 36
.Font.Bold = True
.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
.Offset(0, 1) = nomfichsauv
End With
Else
With Sheets("Accueil").Range("H15")
.FormulaR1C1 = " "
.Offset(0, 1) = " "
End With
End If

Sheets("Accueil").Range("A1").Select

'Application.ScreenUpdating = False
End Sub



*Bonjour Érico*,
J'ai remanié un peu ta macro, elle devrait toujours tourner de la meme facon.
Par contre, j'ai rajouter un test de plus pour le nom du fichier. Je ne vois
pas où tu peux faire une annulation ???

Voici ma macro qui enegistre le fichiers sous un nom dans uen cellule.
J'ai un message d'erreur lorsque j'annule l'enregistrement et ça bogue à:

ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal

__________________________________________________________
Sheets("Établissements").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("2004-2005").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Sheets("2003-2004").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse
Sheets("2005-2006").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:úlse


Sheets("Établissements").Select
nomfichsauv = Range("E4").Value
If nomfichsauv <> 0 Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
End If

Sheets("Accueil").Select

If nomfichsauv <> 0 Then
Range("H15").Select
Selection.Font.ColorIndex = 36
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
Range("H16").Select
ActiveCell.FormulaR1C1 = nomfichsauv
Else
Range("H15").Select
ActiveCell.FormulaR1C1 = " "
Range("H16").Select
ActiveCell.FormulaR1C1 = " "
End If

Range("A1").Select

'Application.ScreenUpdating = False
End Sub



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O


Avatar
steve
J'ai du code similaire et j'utilise :

On Error Resume Next

une ligne devant ActiveWorkBook.SaveAs ...

J'imagine que c'est lors de l'enregistrement que tu clique sur annuler?
Or donc, comme la fenêtre systeme ne retourne rien alors Excel ne sais
plus quoi faire.
Tu dois donc trapper l'erreur, regarde sous "On Error" dans l'aide de
VB :
tu peut rediriger vers 0, vers un handler maison, ou tout simplement,
comme dans mon exemple, vers le haut, et comme l'erreur ne porte sur
rien, bien l'erreur se perd.

T'es pas perdu, j'espère!!!!???

Tu peut mettre cette ligne "On Error Resume Next" partout ou tu
soupçonnes une erreur de survenir et bloquer ton programme, n'en abuse
pas et tente de les capter - les erreurs - soit par un msgbox, soit
pour validation/annulation de réinitialiser les données, etc

Bonne chance


Érico wrote:
Voici ma macro qui enegistre le fichiers sous un nom dans uen cellule.
J'ai un message d'erreur lorsque j'annule l'enregistrement et ça bogue à:

ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal

__________________________________________________________
Sheets("Établissements").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("2004-2005").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBl anks:=
_
False, Transpose:úlse
Sheets("2003-2004").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBl anks:=
_
False, Transpose:úlse
Sheets("2005-2006").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBl anks:=
_
False, Transpose:úlse


Sheets("Établissements").Select
nomfichsauv = Range("E4").Value
If nomfichsauv <> 0 Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNo rmal
End If

Sheets("Accueil").Select

If nomfichsauv <> 0 Then
Range("H15").Select
Selection.Font.ColorIndex = 36
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
Range("H16").Select
ActiveCell.FormulaR1C1 = nomfichsauv
Else
Range("H15").Select
ActiveCell.FormulaR1C1 = " "
Range("H16").Select
ActiveCell.FormulaR1C1 = " "
End If

Range("A1").Select

'Application.ScreenUpdating = False
End Sub


Avatar
Érico
¨ca ne fonctionne pas du tout!


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

Suis je distrais, j'ai oublié de te joindre le code :-?
Sub sauvesous()
Sheets("Établissements").Range("E3").Copy
Sheets("2004-2005").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2003-2004").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2005-2006").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


nomfichsauv = Sheets("Établissements").Range("E4")
If nomfichsauv <> 0 And nomfichsauv <> "" Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
With Sheets("Accueil").Range("H15")
.Font.ColorIndex = 36
.Font.Bold = True
.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
.Offset(0, 1) = nomfichsauv
End With
Else
With Sheets("Accueil").Range("H15")
.FormulaR1C1 = " "
.Offset(0, 1) = " "
End With
End If

Sheets("Accueil").Range("A1").Select

'Application.ScreenUpdating = False
End Sub



*Bonjour Érico*,
J'ai remanié un peu ta macro, elle devrait toujours tourner de la meme
facon.
Par contre, j'ai rajouter un test de plus pour le nom du fichier. Je ne
vois pas où tu peux faire une annulation ???

Voici ma macro qui enegistre le fichiers sous un nom dans uen cellule.
J'ai un message d'erreur lorsque j'annule l'enregistrement et ça bogue
à:

ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal

__________________________________________________________
Sheets("Établissements").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("2004-2005").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Sheets("2003-2004").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Sheets("2005-2006").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse


Sheets("Établissements").Select
nomfichsauv = Range("E4").Value
If nomfichsauv <> 0 Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv,
FileFormat:=xlNormal
End If

Sheets("Accueil").Select

If nomfichsauv <> 0 Then
Range("H15").Select
Selection.Font.ColorIndex = 36
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Le fichier a été enregistré sous le
nom"
Range("H16").Select
ActiveCell.FormulaR1C1 = nomfichsauv
Else
Range("H15").Select
ActiveCell.FormulaR1C1 = " "
Range("H16").Select
ActiveCell.FormulaR1C1 = " "
End If

Range("A1").Select

'Application.ScreenUpdating = False
End Sub



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O






Avatar
JLuc
*Bonjour Érico*,
J'ai recreer ton classeur pour retester, cette fois je pense que ca
t'ira :
Sub sauvesous()
Sheets("Établissements").Range("E3").Copy
Sheets("2004-2005").Range("A2").PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2003-2004").Range("A2").PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2005-2006").Range("A2").PasteSpecial Paste:=xlValues, _
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

nomfichsauv = Sheets("Établissements").Range("E4")
If nomfichsauv <> 0 And nomfichsauv <> "" Then
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
If Err = 0 Then
With Sheets("Accueil").Range("H15")
.Font.ColorIndex = 36
.Font.Bold = True
.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
.Offset(0, 1) = nomfichsauv
End With
Else
MsgBox "Le nom de fichier existe déjà" & Chr(13) & _
"La réponse NON ou ANNULER provoque l'erreur : " & Err
End If
Else
With Sheets("Accueil").Range("H15")
.FormulaR1C1 = " "
.Offset(0, 1) = " "
End With
End If

Sheets("Accueil").Range("A1").Select

'Application.ScreenUpdating = False
End Sub

Dis nous


¨ca ne fonctionne pas du tout!


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

Suis je distrais, j'ai oublié de te joindre le code :-?
Sub sauvesous()
Sheets("Établissements").Range("E3").Copy
Sheets("2004-2005").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2003-2004").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
Sheets("2005-2006").Range("A2").PasteSpecial Paste:=xlValues,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


nomfichsauv = Sheets("Établissements").Range("E4")
If nomfichsauv <> 0 And nomfichsauv <> "" Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
With Sheets("Accueil").Range("H15")
.Font.ColorIndex = 36
.Font.Bold = True
.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
.Offset(0, 1) = nomfichsauv
End With
Else
With Sheets("Accueil").Range("H15")
.FormulaR1C1 = " "
.Offset(0, 1) = " "
End With
End If

Sheets("Accueil").Range("A1").Select

'Application.ScreenUpdating = False
End Sub



*Bonjour Érico*,
J'ai remanié un peu ta macro, elle devrait toujours tourner de la meme
facon.
Par contre, j'ai rajouter un test de plus pour le nom du fichier. Je ne
vois pas où tu peux faire une annulation ???

Voici ma macro qui enegistre le fichiers sous un nom dans uen cellule.
J'ai un message d'erreur lorsque j'annule l'enregistrement et ça bogue à:

ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal

__________________________________________________________
Sheets("Établissements").Select
Range("E3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("2004-2005").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Sheets("2003-2004").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Sheets("2005-2006").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse


Sheets("Établissements").Select
nomfichsauv = Range("E4").Value
If nomfichsauv <> 0 Then
ActiveWorkbook.SaveAs Filename:=nomfichsauv, FileFormat:=xlNormal
End If

Sheets("Accueil").Select

If nomfichsauv <> 0 Then
Range("H15").Select
Selection.Font.ColorIndex = 36
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Le fichier a été enregistré sous le nom"
Range("H16").Select
ActiveCell.FormulaR1C1 = nomfichsauv
Else
Range("H15").Select
ActiveCell.FormulaR1C1 = " "
Range("H16").Select
ActiveCell.FormulaR1C1 = " "
End If

Range("A1").Select

'Application.ScreenUpdating = False
End Sub



-- ____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O