Excel (vba) - Enregistrer avec conditions
Résolu/Fermé
Brandysve
Messages postés
55
Date d'inscription
lundi 7 octobre 2013
Statut
Membre
Dernière intervention
16 février 2017
-
7 oct. 2013 à 10:11
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 7 oct. 2013 à 12:03
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 7 oct. 2013 à 12:03
A voir également:
- Excel (vba) - Enregistrer avec conditions
- Audacity enregistrer son pc - Guide
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Enregistrer en pdf - Guide
- Si et excel - Guide
3 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
7 oct. 2013 à 11:07
7 oct. 2013 à 11:07
Bonjour,
tu peux tout à fait faire ca.
Tu as deux possibilités (car tout dépend de comment tu demandes à l'utilisateur de rentrer :
IF variable(1à15000) < 10000 then
variable = "\0" & variable
else
variable = variable
end if
ou alors
if len(variable) < 5 'si le nombre de caractèr einclus dans la variable variable = 5 (soit compris <10000 then
variable = "\0" & variable
end if
tu peux tout à fait faire ca.
Tu as deux possibilités (car tout dépend de comment tu demandes à l'utilisateur de rentrer :
IF variable(1à15000) < 10000 then
variable = "\0" & variable
else
variable = variable
end if
ou alors
if len(variable) < 5 'si le nombre de caractèr einclus dans la variable variable = 5 (soit compris <10000 then
variable = "\0" & variable
end if
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
7 oct. 2013 à 12:03
7 oct. 2013 à 12:03
Bonjour,
essaie comme ca :
Private Sub Workbook_Open()
Dim save_ener As String
UserForm1.Show
save_ener = Range("E1")
If save_ener < 10000 Then
save_ener = "\0" & save_ener
Else
save_ener = "\" & save_ener
End If
Range("A6").Select
fichier = "C:\Users\(caché)\En attente" & save_ener & ".xls"
ActiveWorkbook.SaveAs Filename:=fichier
End Sub
essaie comme ca :
Private Sub Workbook_Open()
Dim save_ener As String
UserForm1.Show
save_ener = Range("E1")
If save_ener < 10000 Then
save_ener = "\0" & save_ener
Else
save_ener = "\" & save_ener
End If
Range("A6").Select
fichier = "C:\Users\(caché)\En attente" & save_ener & ".xls"
ActiveWorkbook.SaveAs Filename:=fichier
End Sub
Brandysve
Messages postés
55
Date d'inscription
lundi 7 octobre 2013
Statut
Membre
Dernière intervention
16 février 2017
5
Modifié par Brandysve le 7/10/2013 à 11:42
Modifié par Brandysve le 7/10/2013 à 11:42
Même cela semble logique, ça ne fonctionne pas :/
Quand j'enregistre sous 10000 il met bien "09999.xls" mais quand je met plus de 10000, il me crée un fichier "Enattente11000.xls"
Voilà mes codes
1. La macro d'ouverture
2. Le Useform1
Merci de ton aide
Ps: Ta seconde solution n'est pas viable dans mon cas car il y 'a toujours 5 caractères (avant 10000 on écrit 09000 par exemple, cependant, dans la cellule ça se transforme, volontairement, en 09.000 et ça doit pas enregistrer avec le point))
Quand j'enregistre sous 10000 il met bien "09999.xls" mais quand je met plus de 10000, il me crée un fichier "Enattente11000.xls"
Voilà mes codes
1. La macro d'ouverture
Private Sub Workbook_Open()
Dim save_ener As String
UserForm1.Show
save_ener = Range("E1")
If save_ener < 10000 Then
save_ener = "\0" & save_ener
Else
save_ener = save_ener
End If
Range("A6").Select
fichier = "C:\Users\(caché)\En attente" & save_ener & ".xls"
ActiveWorkbook.SaveAs Filename:=fichier
End Sub
2. Le Useform1
Private Sub annuler_Click()
Unload UserForm1
End Sub
Private Sub CommandButton1_Click()
Range("E1") = Me.TextBox1.Value
Range("D2") = Me.TextBox2.Value
Range("B6") = Me.TextBox3.Value
Unload UserForm1
End Sub
Merci de ton aide
Ps: Ta seconde solution n'est pas viable dans mon cas car il y 'a toujours 5 caractères (avant 10000 on écrit 09000 par exemple, cependant, dans la cellule ça se transforme, volontairement, en 09.000 et ça doit pas enregistrer avec le point))