Texte macro: changement de mois/recuperation d'info

Bonjour,

j'ai un souci dans un texte de macro. Je n'ai pas la solution. le texte est sur l'image "exemple 3". je pense que c'est le mmm qui me pose probleme.

Chaque jour quand j'ouvre le doc feuille de calcul, que vous pouvez voir avec l'image "exemple 4", je vais récuperer les info d'un fichier JUIL_18

Le soucis c'est à chaque changement de mois, comme c'est le cas aujourd'hui, je dois récupérer AOUT_18. Mais ca m'ouvre une fenetre que vous pouvez voir dans l'image "exemple" avec l'intitulé aout_18 (mais en minuscule..)

Que doit remplacer dans le texte de la macro sur "exemple3" pour ne plus avoir ce beugue au changement de mois?

merci d'avance pour votre aide

exemple exemple 4 exemple 3 exemple 2

Bonjour,

Tu devras faire quelques opérations supplémentaires dans ta macro, en appliquant les 2 transformations ci-dessus à une variable string "Format(Date, "mmm")"...

Dim TaChaine As String
TaChaine = Format(Date, "mmm")

1. Supprimer les accents :

Function SupprimerAccents(ByVal sChaine As String) As String
Dim sTmp As String, i As Long, p As Long
Const sCarAccent As String = "ÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ"
Const sCarSansAccent As String = "AAAAACEEEEIIIINOOOOOUUUUYaaaaaaceeeeiiiinooooouuuuyy"
    sTmp = sChaine
    For i = 1 To Len(sTmp)
        p = InStr(sCarAccent, Mid(sTmp, i, 1))
        If p > 0 Then Mid$(sTmp, i, 1) = Mid$(sCarSansAccent, p, 1)
    Next i
    SupprimerAccents = sTmp
End Function

Pour l'utiliser :

SupprimerAccents(TaChaine)

2. Passer une chaîne de caractères en majuscule :

Ucase("TaChaine")

tu vois l'image où l'on a tous les fichiers mensuels excel. ils sont tous du type JUIL_18 ou AOUT_18

Il n'y a pas d'accent et que du majuscule avec le mois tout le temps en 4 lettres.

Qu'elle est l'intérêt de faire cette manip?

Si c'est important de la faire, dis-moi ou je dois placer les éléments que tu m'as fourni.

Je te joins un scan du ThisWorkbook

Merci d'avance.

Non non c'est pas important je dis ça pour occuper le terrain !

Plus sérieusement, c'est justement par ce que tes documents sont en majuscules sans accent mais ta ligne de code VBA te sort des mois en minuscules avec accents...

Dans mon post, le code 1 est un code indépendant, que tu peux coller à part dans un module VBA. La ligne juste en dessous te montre comment l'utiliser dans ta macro.

En conclusion, ta ligne :

nomFichier = Format(Date, "mmm") & "_18.xls"
'Devient :
nomFichier = Ucase(SupprimerAccents(Format(Date, "mmm"))) & "_18.xls"

Non non c'est pas important je dis ça pour occuper le terrain !

Plus sérieusement, c'est justement par ce que tes documents sont en majuscules sans accent mais ta ligne de code VBA te sort des mois en minuscules avec accents...

Dans mon post, le code 1 est un code indépendant, que tu peux coller à part dans un module VBA. La ligne juste en dessous te montre comment l'utiliser dans ta macro.

En conclusion, ta ligne :

nomFichier = Format(Date, "mmm") & "_18.xls"
'Devient :
nomFichier = Ucase(SupprimerAccents(Format(Date, "mmm"))) & "_18.xls"

Ok, et bien merci, ca fonction nickel.

a suivre pour le mois de septembre, quand le nouveau fichier sera créé.

je te remercie pour ton efficacité.

Cordialement

Rechercher des sujets similaires à "texte macro changement mois recuperation info"