IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Ouvrir fichier excel avec accents


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut Ouvrir fichier excel avec accents
    Bonjour,

    Dans mon programme j'essaye d'ouvrir un fichier excel ayant un accent circonflexe dans son nom, mais ça ne fonctionne pas.

    J'ai vu comment supprimer les accents dans la faq, mais je ne trouve pas comment ouvrir les fichiers avec accents.

    Est-ce que quelqu'un sait comment faire svp?

    Merci par avance

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    on peu voir ton code d'ouverture ?

  3. #3
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    Voici le code en ligne 16:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Sub listemacros()
     
    'Nécessite d'activer la référence
        '"Microsoft Visual basic For Application Extensibility 5.3"
    Dim Ajout As Integer
    Dim VBCmp As VBComponent
    Dim cdMod As CodeModule
    Dim Wb As Workbook
    Dim Debut As Long
     
    'Active la combo1
    Combo1.Enabled = True
     
    'Indiquez le nom du classeur ouvert
    'Set Wb = ThisWorkbook
    Set Wb = Application.Workbooks.Open(lienfichier)
     
    Ajout = 1
     
    'Boucle sur tous les composants du projet :
        'Modules standards
        'Modules de feuilles et de classeur
        'Modules de classe
        'UserForms
    For Each VBCmp In Wb.VBProject.VBComponents
        Set cdMod = VBCmp.CodeModule
     
        With cdMod
            Debut = .CountOfDeclarationLines + 1
            Do Until Debut >= .CountOfLines
                'Nom de la procédure
                'Debug.Print .ProcOfLine(Debut, vbext_pk_Proc)
                typedemacro = .Lines(.ProcBodyLine(.ProcOfLine(Debut, vbext_pk_Proc), vbext_pk_Proc), 1)
                'Copie que les sub et public sub
                If Left(typedemacro, 3) = "Sub" Or Left(typedemacro, 10) = "Public Sub" Then
                    Combo1.AddItem .ProcOfLine(Debut, vbext_pk_Proc)
                End If
     
                Debut = Debut + _
                    .ProcCountLines(.ProcOfLine(Debut, _
                    vbext_pk_Proc), vbext_pk_Proc)
                Ajout = Ajout + 1
            Loop
        End With
     
    Next VBCmp
     
    End Sub

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et c'est quoi : "lienfichier"

    PS : est-tu sur d'utiliser VB6 et pas VBA pour Excel ?

  5. #5
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    "lienfichier" est une variable public, contenant le chemin du fichier à ouvrir pris avec "CommonDialog1".

    Oui, à la base ce code est issu d'une des macros excel, et fonctionne aussi pour les accents.
    Par contre, dans VB6 le code ne fonctionne que quand il n'y a pas d'accents

  6. #6
    Membre actif Avatar de petit rabot
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2010
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2010
    Messages : 236
    Points : 226
    Points
    226
    Par défaut
    Pourquoi tu n'ouvre pas directement avec la référence excel, j'ai fais un essai avec un nom composé d'accents, et mon fichier s'ouvre très bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim xlapp As Excel.Application  'Application Excel
    Dim xlbook As Excel.Workbook    'Classeur Excel
    Dim xlsheet As Excel.Worksheet  'Feuille Excel
     
    Set xlapp = CreateObject("Excel.Application")   'Ouverture de l'application Excel
    Set xlbook = xlapp.Workbooks.Open("C:\éàùêëè.xlsx") 'nom du fichier avec accents
    Set xlsheet = xlbook.Sheets("Feuil1")           'Ouverture de la feuille1 du fichier Excel
    xlapp.Visible = True                            'Rend visible l'application Excel

  7. #7
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    Je ne connaissais pas cette méthode pour ouvrir les classeurs excel.

    Ton code fonctionne très bien,

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Ouvrir fichier Excel avec une partie de son nom
    Par juluseless dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/10/2014, 14h12
  2. [XL-2007] Ouvrir fichier excel avec vba
    Par Traputaca dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/05/2013, 16h22
  3. [OpenOffice][Tableur] Ouvrir fichier EXCEL avec OO dans IE
    Par hittony dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 19/04/2011, 11h38
  4. ouvrir fichier Excel avec VC++
    Par jerome71300 dans le forum C++
    Réponses: 41
    Dernier message: 09/04/2008, 17h36
  5. Ouvrir fichier Excel avec macro
    Par zephirsoul dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/11/2007, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo