Aide visual basic et excel
Résolu
debutante-excel
Messages postés
195
Date d'inscription
Statut
Membre
Dernière intervention
-
debutante-excel Messages postés 195 Date d'inscription Statut Membre Dernière intervention -
debutante-excel Messages postés 195 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon problème,
j'ai un classeur excel qui possède une macro en VB, dont voici le code.
Option Explicit
Const wDemandePath As String = "C:\Test\" ' doit se terminer par \
Const wDemandeNomF As String = "Fichier du "
Const wDemandeNomV As String = "$B$1"
Sub SavDemande()
Dim nomFich As String, i As Long, j As Long
nomFich = Range(wDemandeNomV)
If Not IsDate(nomFich) Then
i = MsgBox("'" & nomFich & "' n'est pas une date valide.", vbCritical + vbOKOnly)
Exit Sub
End If
i = InStr(nomFich, "/")
j = InStr(i + 1, nomFich, "/")
nomFich = Mid(nomFich, j + 1) & "-" & Mid(nomFich, i + 1, j - i - 1) & "-" & Left(nomFich, i - 1)
nomFich = wDemandePath & wDemandeNomF & nomFich & ".xls"
ActiveWorkbook.SaveAs Filename:=nomFich
End Sub
Cette macro permet de créer un classeur dont une partie du nom du fichier est contenu dans la cellule B1.
Je voudrai modifier cette macro pour que le string du fichier puisse être modifier.
Je voudrai rajouter un sous-catalogue à C:\Test\
Le nom du sous catalogue serait en cellule A1.
On pourrait le remplacer à la place de : Const wDemandeNomF As String = "Fichier du "
Je connais rien à VB.
Est-il possible d'avoir de l'aide.
Merci d'avance.
Voici mon problème,
j'ai un classeur excel qui possède une macro en VB, dont voici le code.
Option Explicit
Const wDemandePath As String = "C:\Test\" ' doit se terminer par \
Const wDemandeNomF As String = "Fichier du "
Const wDemandeNomV As String = "$B$1"
Sub SavDemande()
Dim nomFich As String, i As Long, j As Long
nomFich = Range(wDemandeNomV)
If Not IsDate(nomFich) Then
i = MsgBox("'" & nomFich & "' n'est pas une date valide.", vbCritical + vbOKOnly)
Exit Sub
End If
i = InStr(nomFich, "/")
j = InStr(i + 1, nomFich, "/")
nomFich = Mid(nomFich, j + 1) & "-" & Mid(nomFich, i + 1, j - i - 1) & "-" & Left(nomFich, i - 1)
nomFich = wDemandePath & wDemandeNomF & nomFich & ".xls"
ActiveWorkbook.SaveAs Filename:=nomFich
End Sub
Cette macro permet de créer un classeur dont une partie du nom du fichier est contenu dans la cellule B1.
Je voudrai modifier cette macro pour que le string du fichier puisse être modifier.
Je voudrai rajouter un sous-catalogue à C:\Test\
Le nom du sous catalogue serait en cellule A1.
On pourrait le remplacer à la place de : Const wDemandeNomF As String = "Fichier du "
Je connais rien à VB.
Est-il possible d'avoir de l'aide.
Merci d'avance.
A voir également:
- Aide visual basic et excel
- Visual basic - Télécharger - Langages
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Microsoft 365 basic - Accueil - Microsoft Office
2 réponses
Bonjour,
A essayer :
Option Explicit
Const wDemandePath As String = "C:\Test\" ' doit se terminer par \
Const wDemandeNomF As String = "Fichier du "
Const wDemandeNomV As String = "$B$1"
Const wDemandeSousC As String = "$A$1"
Sub SavDemande()
Dim nomFich As String, i As Long, j As Long , nomSousC As String
nomSousC = Range(wDemandeSousC)
nomFich = Range(wDemandeNomV)
If Not IsDate(nomFich) Then
i = MsgBox("'" & nomFich & "' n'est pas une date valide.", vbCritical + vbOKOnly)
Exit Sub
End If
i = InStr(nomFich, "/")
j = InStr(i + 1, nomFich, "/")
nomFich = Mid(nomFich, j + 1) & "-" & Mid(nomFich, i + 1, j - i - 1) & "-" & Left(nomFich, i - 1)
nomFich = wDemandePath & nomSousC & wDemandeNomF & nomFich & ".xls"
ActiveWorkbook.SaveAs Filename:=nomFich
End Sub
Voila dans l'esprit de ce qui existe déja. en A1 le nom du sous catalogue doit être de la forme TOTO\
A+
A essayer :
Option Explicit
Const wDemandePath As String = "C:\Test\" ' doit se terminer par \
Const wDemandeNomF As String = "Fichier du "
Const wDemandeNomV As String = "$B$1"
Const wDemandeSousC As String = "$A$1"
Sub SavDemande()
Dim nomFich As String, i As Long, j As Long , nomSousC As String
nomSousC = Range(wDemandeSousC)
nomFich = Range(wDemandeNomV)
If Not IsDate(nomFich) Then
i = MsgBox("'" & nomFich & "' n'est pas une date valide.", vbCritical + vbOKOnly)
Exit Sub
End If
i = InStr(nomFich, "/")
j = InStr(i + 1, nomFich, "/")
nomFich = Mid(nomFich, j + 1) & "-" & Mid(nomFich, i + 1, j - i - 1) & "-" & Left(nomFich, i - 1)
nomFich = wDemandePath & nomSousC & wDemandeNomF & nomFich & ".xls"
ActiveWorkbook.SaveAs Filename:=nomFich
End Sub
Voila dans l'esprit de ce qui existe déja. en A1 le nom du sous catalogue doit être de la forme TOTO\
A+