VBA variables cellules
Bonjour,
Dans le cadre de mon travail je monte une macro visant a faire des extractions sur SAP et les coller dans un fichier excel de consolidation.
Ce fichier excel change de nom tout les mois : Extraction test fin 05_2022.xlsm ; Extraction test fin 06_2022.xlsm ect...
Le nom étant variable, il faut que je le prenne en compte dans ma macro :
Je ne peux pas utiliser la fonction date car le fichier est rempli le mois suivant.
J'ai donc fais le choix de remplir des cellules avec des formules qui sortent le mois et l'année = A2 : 2022 / C2 : '05
Je peux donc construire le nom du fichier que je doit ouvrir en allant chercher dans ces cellules :
Sub ouvrirdest()
Workbooks.Open "Q:\Répertoire\répertoire2\fichiers\2022\Extraction test fin " & Range("C2") & "_" & Range("A2") & ".xlsm"
End Sub
Cela fonctionne une fois sur deux, je viens de comprendre que cela est du au fait que dès que j'ouvre un autre excel, la macro bascule dessus et me ramène donc le mauvais A2 et C2
Auriez-vous un moyen de spécifier que je m'intéresse au cellulles A2/C2 de "Thisworkbook" , et pas du dernier fichier ouvert ?
En vous remerciant,
cdt
Bonjour norym et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum
Ainsi que sur les fonctionnalités (Nouveau Forum au bas de page notamment)
Quand on veut faire ce genre de chose on passe par des variables
Dim sPath As String, sFile As String
Dim Wbk As Workbook
sPath = "Q:\Répertoire\répertoire2\fichiers\2022\"
sFile = Dir(sPath & "Extraction test fin " & Format(mois(Date), "00") & ".xlsm")
If sFile <> "" Then
Set Wbk = Workbooks.Open(sPath & sFile)
End If
Pour indiquer quelle valeur doit être renvoyée, il faut donner son conteneur
ThisWorkbook.Sheets("Params").Range("C2").value
Merci de votre participation
Cordialement
Merci beaucoup de votre aide, cela fonctionne désormais
Cordialement