Macro Conditionnelle sous EXCEL - VB/VBA/VBS - Programmation
Marsh Posté le 02-01-2006 à 07:48:40
Bonjour,
Il faut changer de Type, enlever les barres obliques et les deux points, incompatibles avec un nom de fichier et plutôt afficher un format date AA MM JJ pour pouvoir trier plus facilement la liste de fichiers. Le plus simple est de décomposer la date et l'heure.Ceci devrait convenir :
Dim Filename As String
Filename = Str(Year(Range("H1" ))) & "-" & Str(Month(Range("H1" ))) & "-" & Str(Day(Range("H1" ))) & " " & Str(Hour(Range("H1" ))) & " " & Str(Second(Range("H1" )))
ActiveWorkbook.SaveAs Filename
Cordialement
Epéna
Marsh Posté le 02-01-2006 à 07:48:57
Bonjour,
Tu ne peux pas nommer un fichier si le nom contient certains caractères spécifiques, dont le "/".
Dans ton code de la fonction Macro2 fait ceci:
Sub Macro2()
Dim Filename As String
Dim FichierDaté As String
FichierDaté = Format(Range("H1" ), "dd mm yy" )
Filename = Range("H1" )
ActiveWorkbook.SaveAs FichierDaté
End Sub
Tu effectue ainsi un formatage contrôlé par le code et indépendant des paramètre régionaux ce qui est plus sure.
Cordialement
Pifa
Marsh Posté le 01-01-2006 à 13:16:01
Bonjour a tous.
J'ai besoin d'un peu d'aide pour la programation VBA sous excel.
1° - Je voudrais valider une série d'action par l'enttrée d'une valeur dans une cellule. Je m'explique plus précisément, je voudrais effacer certaines cellules quand une autre aura pour valeur 1...
2° - Voila ce que j'ai :
Sub DATEHEURE()
'
' DATEHEURE Macro
' Macro enregistrée le 31/12/2005 par AA
'
'
Range("E1" ).Select
Selection.Copy
Range("H1" ).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Sub Macro2()
Dim Filename As String
Filename = Range("H1" )
ActiveWorkbook.SaveAs Range("E1" )
Avec ce code j'enregistre automatiquement le fichier avec pour nom la date et l'heure mais le nom du fichier est sous la forme 389076,872 comment etre sur que ca enregistre sous la forme JJ/MM/AA ?
C'est la 1ere fois que j'utilise un post alors désolé si j'ai commis des erreurs dans la formulation de la question.
Merci d'avance pour vos réponses...