[Résolu] Macro bug sur apostrophe

Spinzi

XLDnaute Impliqué
Bonjour à tous,

étant plus que novice en VBA, j'ai réussi a construire un fichier de synthèse grace à tous les éléments présents sur la toile.

Dans l'optique de faciliter notre gestion des chèques CESU, j'ai créée un fichier de synthèse regroupant les une en dessous des autres les différentes commandes des collaborateurs (1 fichier par collaborateur).

La synthèse extrait la ligne 2 de l'onglet "EXPORT" de chaque commande.

Jusqu'à maintenant je n'avais pas eu de problème.
Cependant, dès qu'il y a un apostrophe dans le nom du fichier Excel, ma macro plante.

Aussi, j'aimerai que mon code vérifie et modifie si besoin le nom des fichiers excel contenant des apostrophes avant des les intégrer.

Questions :
_a quel niveau intégrer ce nouveau code (avant la boucle j'imagine ?)
_comment faire pour modifier le nom des fichiers contenant un apostrophe ?


ps : vous trouverez ci joint un zip contenant :
_0. Synthèse CESU
_Fichier Test
_Fichier Test'
Les 3 fichiers sont à mettre dans le même dossier.

Merci d'avance !

Spinzi
 

Pièces jointes

  • 0. CESU - Synthèse.xlsm
    28.1 KB · Affichages: 18
  • Formulaire de commande CESU 2018 - TEST.xlsx
    17.9 KB · Affichages: 17
  • Formulaire de commande CESU 2018 - TEST'.xlsx
    17.9 KB · Affichages: 15

job75

XLDnaute Barbatruc
Bonjour Spinzi,

L'apostrophe ne pose aucun problème, il suffit qu'elle soit doublée avant traitement :
Code:
        If fichier <> "0. CESU - Synthèse.xlsm" Then        '// Nom du fichier => à modifier si changement
            fichier = "[" & Replace(fichier, "'", "''") & "]" 'apostrophe doublée
            onglet = "EXPORT'!"                              '// Nom de l'onglet à lire dans formulaire => à modifier si changement
            For col = 1 To 9                                '// Colonnes 1 à 9 => à modifier si changement
                ChampALire = "R2" & "C" & col
                Cells(lig, col) = ExecuteExcel4Macro(Chemfich & fichier & onglet & ChampALire)
           
                Call Barredeprogression                     ' On appelle le programme pour lancer l'avancement de la barre de progression
           
            Next
        End If
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83