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

Macros et VBA Excel Discussion :

Problème ouverture fichier qui contient un certain caractère


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 112
    Par défaut Problème ouverture fichier qui contient un certain caractère
    Bonjour, je voudrais ouvrir un fichier word qui contiendra toujours le caractère SDZ . Voici ou j'en suis dans le code, mais sans succés. Je veux également que si il ne trouve rien il aille direct a un endroit, d'ou l'utilisation du If DIR(...) ="" then goto A.
    Merci de votre aide !
    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
    Sub Import()
     
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim Tableau As Word.Table
    Dim i As Integer, j As Integer
     
    'Création instance Word
    Set WordApp = New Word.Application
    'Masque Word pendant l'opération
    WordApp.Visible = True
     
     
    'Ouvre le document Word et copie les données SDZ
    mot1 = SDZ
    If Dir("D:\Users\S580385\Desktop\Sources PDP\") & mot1 & "" = "" Then GoTo A
    Fich = Dir("D:\Users\S580385\Desktop\Sources PDP\") & mot1 & ""
    Set WordDoc = WordApp.Documents.Open(Fich)
    A:
    Sheets("Inidicateurs").Range("I1").Value = "perdu"
    End sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    c'est quoi ce caractere SDZ ? Il correspond a un caractere ASCII ?

    Si tu cherches un libelle de fichier approchant, il te faut utiliser le caractere *.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 112
    Par défaut
    Bonjour merci de ta réponse rapide, SDZ est un caractère présent dans la dénomination du fichier a savoir il peut s'appeler :
    - Faits SDZ S34
    - SDZ S34 etc
    Meme avec le caratère * que j'avais mit au début j'obtiens une erreur : "Word n'a pas pu lire ce document. Ilest peut etre corrompu."

    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
    Sub Import()
     
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim Tableau As Word.Table
    Dim i As Integer, j As Integer
     
    'Création instance Word
    Set WordApp = New Word.Application
    'Masque Word pendant l'opération
    WordApp.Visible = True
     
     
    'Ouvre le document Word et copie les données SDZ
    mot1 = SDZ
    If Dir("D:\Users\S580385\Desktop\Sources PDP\") & mot1 & "*" = "" Then GoTo A
    Fich = Dir("D:\Users\S580385\Desktop\Sources PDP\") & mot1 & "*"
    Set WordDoc = WordApp.Documents.Open(Fich)
    A:
    Sheets("Inidicateurs").Range("I1").Value = "perdu"
    End sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Ok, alors SDZ est en fait "SDZ", un chaine de caracteres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mot1 = "SDZ"
    If Dir("D:\Users\S580385\Desktop\Sources PDP\*") & mot1 & "*" = "" Then GoTo A
    Fich = Dir("D:\Users\S580385\Desktop\Sources PDP\*") & mot1 & "*"
    Attention toutefois, la fonction Dir retournera le nom du fichier, il faudra donc le concatener a "D:\Users\S580385\Desktop\Sources PDP\" pour avoir son emplacement correct lors de l'ouverture.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 112
    Par défaut
    Ok donc je peux pas me servir de Fich pour l'ouverture de celui ci ?
    Comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set WordDoc = WordApp.Documents.Open(Fich)

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Non, sauf si ton fichier Excel se trouve dans ce dossier, ce qui ne devrait pas etre le cas (tu n'as que des fichiers word dans ce dossier, n'est-ce pas ?

    Le code pour l'ouverture sera donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set WordDoc = WordApp.Documents.Open("D:\Users\S580385\Desktop\Sources PDP\" & Fich)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 112
    Par défaut
    Merci beaucoup mon erreur venait de la je pensais que la fonction DIR me retourner un chemin .... Merci beaucoup !

    Par contre il ne comprend pas que le fichier que je cherche doit contenir SDZ, il prend le premier et il me l'ouvre...
    Le problème peut venir d'où ?

  8. #8
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour,

    le VBA ne se trompant pas, n'exécutant que les ordres donnés,
    le problème étant situé donc entre la chaise et le clavier, juste un problème de conception …

    Voir d'abord dans le forum Word comment fonctionne la recherche, ici étant un forum dédié à Excel !

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  9. #9
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 112
    Par défaut
    Merci des conseils mais ca marche très bien de cette façon je met la soltion si ca peut intéréssé quelqu'un !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Dir("D:\Users\xxx\Desktop\Sources PDP\*SDZ*") = "" Then GoTo B
    Fich = Dir("D:\Users\xxx\Desktop\Sources PDP\*SDZ*")
    Set WordDoc = WordApp.Documents.Open("D:\Users\xxx\Desktop\Sources PDP\" & Fich)

  10. #10
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Autant pour moi, ce n'est qu'une simple ouverture de fichier …

    En plus propre (comme dans l'aide VBA interne !) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DOSSIER = "D:\Users\xxx\Desktop\Sources PDP\"
       FICH = Dir(DOSSIER & "*SDZ*")
     
    If FICH > "" Then
        Set WordDoc = WordApp.Documents.Open(DOSSIER & FICH)
    Else
    '   code ici quand il n'y a pas de correspondance
    End If

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

Discussions similaires

  1. forcer le téléchargement - problème ouverture fichier
    Par grinder59 dans le forum Langage
    Réponses: 8
    Dernier message: 09/03/2006, 15h59
  2. problème ouverture fichier texte
    Par ice-t69 dans le forum Langage
    Réponses: 4
    Dernier message: 07/11/2005, 19h29
  3. Réponses: 4
    Dernier message: 29/10/2005, 18h36
  4. (jsp) problème avec sql qui contient la date
    Par future dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 31/08/2005, 16h18
  5. Problème ouverture fichier par double clic...
    Par sankookai dans le forum MFC
    Réponses: 4
    Dernier message: 11/05/2005, 09h13

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