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

Excel Discussion :

modifier boite de dialogue et supprimer fichier [XL-2007]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 4
    Points : 4
    Points
    4
    Par défaut modifier boite de dialogue et supprimer fichier
    Bonjour,

    après avoir récupéré ce code et adapté à mes besoins, je viens vers vous car je butte sur plusieurs problèmes:

    en ce moment la macro ouvre un boite de dialogue et je choisi le dossier où se trouve mes fichiers word et ouvre le premier .
    ce que j'aimerai c'est pouvoir sélectionner le fichier à traiter et que la boite de dialogue s'ouvre sur le dossier où se trouve mes fichiers word. et que lorsqu'elle ferme le fichier elle le supprime.

    ci-joint ma macro.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Plusieurs participants à ce forum n'ouvrent pas les pièces jointes (surtout celles pouvant contenir des macros) pour les raisons expliquées ici (entre autres) :
    http://www.developpez.net/forums/d84...s-discussions/
    Tu devrais mettre dans un message le contenu de ton code, de préférence encadré de balises.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Candidat au Club
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    bonjour,
    je comprend voici le code

    Option Explicit
    ' ----------------------------------------------------------------
    ' Extraction des données à partir de fichier Word vers Excel
    '-----------------------------------------------------------------
    Sub Importation_Donnees_Word()

    ' -- Déclaration des variables
    Dim wb As Workbook 'classeur Excel dans lequel on importe les données
    Dim ws As Worksheet 'onglet Excel dans lequel on importe les données
    Dim sChemin As String 'répertoire contenant les fichiers Word
    Dim sNomFichier As String 'nom du fichier Word
    Dim WApp As Object, WDoc As Object, WSel As Object

    ' -- Initialisation des variables
    Set wb = ThisWorkbook
    Set ws = wb.Sheets(1) 'on sauvegarde dans la 1re feuille
    sChemin = ChoisirRepertoire & "\" 'fonction pour choisir le répertoire contenant les fichier Word
    'sChemin = ThisWorkbook.Path & "\" 'si les fichiers Word se trouvent dans le même répertoire que le fichier Excel
    sNomFichier = Dir(sChemin & "*.doc*") 'pour ouvrir tous les fichiers .doc*. 1er fichier.

    Set WApp = CreateObject("Word.Application") 'pour créer un objet Word
    WApp.Visible = False 'ne pas afficher Word pendant l'exécution

    Application.ScreenUpdating = False


    Set WDoc = WApp.Documents.Open(sChemin & sNomFichier) 'ouvre le document Word



    ' Nom ou raison sociale (par la fonction FIND)
    WApp.Selection.HomeKey unit:=6 'Retourne au début du fichier Word
    WApp.Selection.Find.ClearFormatting 'on "vide la mémoire" de la fonction Recherche
    WApp.Selection.Find.Execute "NOM :" 'On trouve le texte
    WApp.Selection.MoveLeft unit:=wdWord, Count:=9, Extend:=4 'On se déplace de vers la gauche
    Set WSel = WApp.Selection 'sélection du texte trouvé
    ws.Range("B3") = Trim(Split(WSel, "l'installation")(1))

    ' adresse (par la fonction FIND)
    WApp.Selection.HomeKey unit:=6
    WApp.Selection.Find.ClearFormatting
    WApp.Selection.Find.Execute "Adresse 1 :"
    WApp.Selection.MoveLeft unit:=wdWord, Count:=12, Extend:=4
    Set WSel = WApp.Selection
    ws.Range("B4") = Trim(Split(WSel, "comptage")(1))

    ' code postal (par la fonction FIND)
    WApp.Selection.HomeKey unit:=6
    WApp.Selection.Find.ClearFormatting
    WApp.Selection.Find.Execute "code postal :"
    WApp.Selection.MoveLeft unit:=wdWord, Count:=10, Extend:=4
    Set WSel = WApp.Selection
    ws.Range("B5") = Trim(Split(WSel, ":")(1))

    ' commune (par la fonction FIND)
    WApp.Selection.HomeKey unit:=6
    WApp.Selection.Find.ClearFormatting
    WApp.Selection.Find.Execute "Commune :"
    WApp.Selection.MoveLeft unit:=wdWord, Count:=10, Extend:=4
    Set WSel = WApp.Selection
    ws.Range("B6") = Trim(Split(WSel, ":")(1))

    ' date (par la fonction FIND)
    WApp.Selection.HomeKey unit:=6
    WApp.Selection.Find.ClearFormatting
    WApp.Selection.Find.Execute "Date de relevé des index :"
    WApp.Selection.MoveRight unit:=wdWord, Count:=6, Extend:=4
    Set WSel = WApp.Selection
    ws.Range("B1") = Trim(Split(WSel, ":")(1))

    ' interlocuteur (par la fonction FIND)
    WApp.Selection.HomeKey unit:=6
    WApp.Selection.Find.ClearFormatting
    WApp.Selection.Find.Execute "Nom de l'interlocuteur 1 :"
    WApp.Selection.MoveLeft unit:=wdWord, Count:=11, Extend:=4
    Set WSel = WApp.Selection
    ws.Range("D2") = Trim(Split(WSel, ":")(1))

    ' telephone (par la fonction FIND)
    WApp.Selection.HomeKey unit:=6
    WApp.Selection.Find.ClearFormatting
    WApp.Selection.Find.Execute "N° Tél. de l'interlocuteur 1 :"
    WApp.Selection.MoveLeft unit:=wdWord, Count:=12, Extend:=4
    Set WSel = WApp.Selection
    ws.Range("D3") = Trim(Split(WSel, ":")(1))



    WDoc.Close False 'fermer le document Word sans enregistrer

    SortieNormale:
    Application.ScreenUpdating = True
    WApp.Quit 'Fermer l'instance de Word
    Application.StatusBar = False 'Remise à zéro de la barre d'état

    End Sub

    Function ChoisirRepertoire() As String
    ' -- Fonction permettant de choisir un répertoire
    Dim oRepertoire As Object
    ChoisirRepertoire = ""
    Set oRepertoire = CreateObject("Shell.Application").BrowseForFolder(0, "Choisir un répertoire", 0)
    If (Not oRepertoire Is Nothing) Then ChoisirRepertoire = oRepertoire.Items.Item.Path
    Set oRepertoire = Nothing
    End Function


    Merci

  4. #4
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    ici étant le forum des formules de feuille de calculs d'Excel, rappels :

    Important : Éditorial - à lire avant de poster

    Point III-E des règles du forum !

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par keval Voir le message
    pouvoir sélectionner le fichier à traiter et que la boite de dialogue s'ouvre sur le dossier où se trouve mes fichiers word.
    Comme tu ne dis pas quel répertoire par défaut tu veux pour tes fichier, je vais supposer que c'est "C:\WORD", tu modifieras le code en fonction du vrai nom de ton répertoire.

    Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        sChemin = ChoisirRepertoire & "\"          'fonction pour choisir le répertoire contenant les fichier Word
        'sChemin = ThisWorkbook.Path & "\"           'si les fichiers Word se trouvent dans le même répertoire que le fichier Excel
        sNomFichier = Dir(sChemin & "*.doc*")       'pour ouvrir tous les fichiers .doc*. 1er fichier.
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        sChemin = "C:\WORD"                    ' Répertoire par défaut des fichiers Word
        Application.DefaultFilePath = sChemin
        sNomFichier = Application.GetOpenFilename("Fichiers Word (*.doc;*.docx), *.doc*;*.docx")       ' pour sélectionner le nom du fichier Word
    https://msdn.microsoft.com/fr-fr/lib.../ff834966.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff835839.aspx

    Il serait plus propre d'y ajouter une ligne de test pour savoir si l'utilisateur a vraiment choisi un nom de fichier.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/06/2011, 08h12
  2. Boite de dialogue copie de fichier
    Par vincob dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 09/04/2011, 14h44
  3. Réponses: 1
    Dernier message: 03/04/2010, 22h36
  4. Réponses: 7
    Dernier message: 09/09/2009, 09h10
  5. [CKEditor] Modifier boite de dialogue upload d'images
    Par omdafer dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 22/07/2009, 22h20

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