Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Si macro 1) et 2) alors regarder l'annee si Janvier alors macro 3) sinon macro 4)
La notion de temps je l'ai programmer comme ca:
Code:
If iYear = 0 Or Not CStr(iYear) Like "####"
J'ai essayer de faire quelque chose du genre
Code:
Public Sub Init_Historical_FX()
If iYear = 0 Or Not CStr(iYear) Like "####" And HistoricalWorkBookOpen_FX(REMOTE_DIRECTORY) And SetHistoricalWorkSheet_FX Then ImportationDatasFichierFerme_FX
Esle
If HistoricalWorkBookOpen_FX(REMOTE_DIRECTORY) And SetHistoricalWorkSheet_FX Then Importation_annee_encours
End Sub
Mais cela ne fonctionne pas, je pense que la syntaxe n'est pas bonne
J'aimerai beaucoup qu'on m'explique comment faire..🙂
Re : VBA: Probleme synthaxe appel macros suivant conditions
Bonjour Pierrot!! 🙂
Oui j'ai peut etre ete radin sur les details
Je fais un historique dans lequel on a trois feuille "M", "M-1", "Rapport"
La macro HistoricalWorkBookOpen_FX a pour action
Si janvier creation d'un nouveau classeur Historical_de l'anne en cours
Si non il trouve le classeur et l'ouvre
La Macro SetHistoricalWorkSheet_FX
Verifie la presence des feuille du classeur et si jamais elles ont pas ete cree elle les cree
La macro ImportationDatasFichierFerme_FX
Elle prend les dernieres donnees ("M") de Decembre de l'annee passe et les cole dans le nouveau classeur dans la feuille ("M-1")
La macro Importation_annee_encours
Supprime la feuille du mois passe M-1
Renomme M en M-1
Dans tout les cas les deux premieres macro doivent etre lancer
mais en fonction du mois ( 1er mois de l'annee ou les autres)
1er mois de l'annee ImportationDatasFichierFerme_FX
Else Importation_annee_encours
Voila j'espee que c'est plus clair, et j'arrive pas a appeler les macro en fonction de ses criteres....
Re : VBA: Probleme synthaxe appel macros suivant conditions
Re,
Oui mais cela ne prends pas en compte qu'il faut que les deux premieres macro soit lancer....arfff je vais y refelchir plus en detail, Je reviendrai sur le fil pour te dire ou j'en suis!!
Re : VBA: Probleme synthaxe appel macros suivant conditions
Bonjour Pierrot!, le forum 🙂
Bon finalment la solution simple ne convient pas, et puis je me suis rendu compte que par securite il ne faut pas tester le mois mais la presence du classeur
En fait il faudrait que j'arrive a faire fonctionner cette logique
VB:
Public Sub Init_Historical_FX()
Dim DataSource As String
Dim wbCurrent As String
Set wkHistoFX = Nothing
wbCurrent = "historical_FX_" & Year(Now) & ".xls"
Set wkHistoFX = Workbooks(wbCurrent)
DataSource = Trim(REMOTE_DIRECTORY & Trim(wbCurrent))
If Dir(DataSource) <> "" Then
HistoricalWorkBookOpen_FX
SetHistoricalWorkSheet_FX
ImportationDatasFichierFerme_FX
Else
HistoricalWorkBookOpen_FX
SetHistoricalWorkSheet_FX
Preparation_HistoFX_Current
End If
End Sub
Probleme avec le code ci dessous:
HistoricalWorkBookOpen_FX
SetHistoricalWorkSheet_FX
Ces deux macros sont des Fonction avec Option donc de la facon dont j'ai ecrit les appels de macro cela genere un code d'erreur
Compile Error:
Argument not Optional
Est ce que quelqu'un saurait comment appeler ces macros tout en respectant la logique du code ci dessus!! Ca serait vraiement top!! 🙂
Haaa et j'oubliais, j'aimerai beaucoup savoir si on peut mettre la condition selon laquelle :
que le classeur existe ou pas chaque macro a pour condition le bon deroulement de la precedente...
Code:
IF HistoricalWorkBookOpen_FX And SetHistoricalWorkSheet_FX Then ImportationDatasFichierFerme_FX
Re : VBA: Probleme synthaxe appel macros suivant conditions
Re,
Voila la solution pour les curieux! 🙂
Code:
Public Sub Init_Historical_FX()
Dim wkHistoFX As Workbook
Dim wbCurrent As String
Dim DataSource As String
Set wkHistoFX = Nothing
wbCurrent = "historical_FX_" & Year(Now) & ".xls"
On Error Resume Next
Set wkHistoFX = Workbooks(wbCurrent)
On Error GoTo 0
DataSource = Trim(REMOTE_DIRECTORY & Trim(wbCurrent))
If Dir(DataSource) <> "" Then
If HistoricalWorkBookOpen_FX(REMOTE_DIRECTORY) And SetHistoricalWorkSheet_FX Then
Preparation_HistoFX_Current
End If
Else
If HistoricalWorkBookOpen_FX(REMOTE_DIRECTORY) And SetHistoricalWorkSheet_FX Then
ImportationDatasFichierFerme_FX
End If
End If
End Sub
C'est le (REMOTE_DIRECTORY) qui manquais, mais vous ne pouviez pas le savoir car je ne vous avais pas mis le code de la fonction..que voila! 🙂
Code:
Public Function HistoricalWorkBookOpen_FX(ByVal strDirectory As String, Optional iYear As Integer = 0, Optional bCreateIfNotExists As Boolean = True) As Boolean
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD