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 :

Découper une chaine avec des espaces en plusieurs cellules [XL-2007]


Sujet :

Macros et VBA Excel

  1. #81
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    En effet, je l'avais pas vu de cette manière, mais c'est quasi le même principe que le code que j'avais fait (en code pleins de chemin mène à Rome )

    Pour revenir au "Application.WorksheetFunction.Index(tableau, 0, 1)" je m'en rappelle bien que tu m'en avais parlé (que c'était une astuce que tu utlisé),
    mais si m'en rappelle bien je ne l'avais pas utilisé (à tord - il faut battre le fer tant qu'il es chaud) et donc pas très accoutumé à son utilisation (mais c'est en forgeant que l'on devient codeur )

    Bon voilà en une ligne. Est ce comme cela que tu l'aurais écris??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub copie()
        Dim SEP
        SEP = CommandBars.ActionControl.Tag
        t = Selection.Value: Vecteur = Application.WorksheetFunction.Index(t, 0, 1): For i = 1 To UBound(t): NewTab = NewTab & Vecteur(i, 1) & " ": Next
        tableau = Split(NewTab, SEP)
        resetmenu
    End Sub
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  2. #82
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     t = Selection.Value: Vecteur = Application.WorksheetFunction.Index(t, 0, 1): For i = 1 To UBound(t): NewTab = NewTab & Vecteur(i, 1) & " ": Next
    heu la on est bien d'accords que tu prends une colonne 1 de la sélection ?????
    par contre ton for ..to me gène un peu a vrai dire

    avec t on on obtiens le tebleau 2 dim de la sélection pour quoi tu veux le retabler ???

    dans le memo que je t'ai donné tu n'a pas bien saisi les subtilités

    ensuite il me semble que la retranscription se fait en ligne et non en colonne
    mais l'idée en général c'est a peu pres cela sauf pour le for..... moi je boucle pas il y a un autre moyen de retabler

    et retabler serait utile pour bien séparer les temps au cas ou il y aurais plusieurs temps dans une même cellules et ta boucle ne gère pas cela d'où l'intérêt de travailler en string avec join pour commencer
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #83
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Re,

    les heures de colles vont tombé
    oui j'ai pris une colonne de la sélection

    En effet, avec ce que tu viens de dire, je n'ai pas bien saisi les subtilités ,erf c'est pas encore ça.

    en fait j'ai essayé de faire des "join" (pourtant c'est pas compliqué), mais j'ai eu des erreurs de code (je m'y suis mal pris)

    faut revoir tout ça
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  4. #84
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    puisque tu a pris en colonne je te fait un exemple en demo en colonne avec un double données en ligne 3 pour l'exemple

    regarde bien la démo et analyse bien le code après
    tu constatera qu'avec cette astuce on a pas besoins de boucler

    la sub test2 en une ligne sans "for...to..."

    je peut t'expliquer en couleur ce que fait chaque partie de la ligne si tu veux pour mieux comprendre t'a qu'a demander

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub test2()
    'récupération en colonne
    tableau = Application.Transpose(Split(Join(Application.Transpose(Application.Index(Selection.Value, , 1)), " "), " ")) '':  tableau = Application.Transpose(tableau)
     
      Cells(20, 1).Resize(UBound(tableau), 1) = tableau
     
    End Sub
    Nom : demo2.gif
Affichages : 202
Taille : 660,7 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #85
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut la meme en ligne
    peut être que si tu vois les deux ca t'aidera a mieux comprendre
    cet exemple fait la même chose que le précèdent mais la sélection est une ligne

    la sub test3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub test3()
    tableau = Application.Transpose(Split(Join(Application.WorksheetFunction.Index(Selection.Value, 1, 0), " ")))
        Cells(20, 1).Resize(UBound(tableau), 1) = tableau
    End Sub
    Nom : demo2.gif
Affichages : 227
Taille : 544,5 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #86
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Re,
    Super les 2 exemples Patrick et en effet c'est largement mieux

    Dans le cas ou l'on une plage tel que ci-dessous et que l'on veut créer un tableau =>
    1 2 3 4
    5 6 7 8 25 30
    9 10 11 12
    14 15 16 17

    => afin obtenir au final ceci :
    1 5 9 14
    2 6 10 15
    3 7 11 16
    4 8 12 17
    25
    30

    de quel manière t'y prendrais tu ? avec le même style de méthode ou autrement ?
    (pour ma part ce qui me vient à l'esprit, c'est une boucle for et for each avec split et du redim)

    PS : Merci de t'être donné la peine de me faire ces exemples
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  7. #87
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    de la même manière en répétant l'opération du concatenage en string de chaque ligne ou a l'inverse de chaque colonne
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #88
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello,
    jchuillier2 , si cela t'intéresse de tout faire automatiquement (sans copier coller) j'ai trouvé un utilitaire gratuit ( Xpdf utilitaire pdf2text) qui permet d'extraire tes données du PDF en format texte plus facilement exploitable à partir de VBA. Voilà le début du fichier extrait :

    Nom : Xpdf-pdftotext.png
Affichages : 186
Taille : 40,9 Ko


    Ensuite en utilisant une macro VBA avec deux regex , on arrive à ce résultat :

    Nom : macro_tempstour2.png
Affichages : 168
Taille : 15,1 Ko

    En résumé : une commande à lancer , une macro à lancer (on pourrait aussi lancer la commande dans la macro).

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  9. #89
    Membre du Club
    Homme Profil pro
    team manager
    Inscrit en
    Juin 2015
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : team manager
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2015
    Messages : 191
    Points : 67
    Points
    67
    Par défaut
    Salut,

    Ca m'interesse beaucoup, mais comment gérer l'affichage des 2 colonnes ?

    Avec un système comme ca je pourrais faire des stats sur l'ensemble des voitures et pas seulement sur les miennes mais j'ai peur qu'il faille passer plus de temps à enlever les drapeaux jaunes et gérer les 2 colonnes que faire les 5-6 operations de ctrl+c ctrl+v.

    Qu'est ce que tu en penses ?

    Merci

  10. #90
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    sans vouloir offenser jurassic pork je t'ai donner la même chose il y a plusieurs page du post et sans logiciel tierce
    il suffit que tu es adobe Reader dans ton pc et cela suffit

    l'exemple que je t'ai donné envoyait le tout sur le sheets dirrectement identiquement a la capture de jurassic pork

    3 ligne de plus et je te le fait arriver dans un fichier texte solid si tu veux
    Images attachées Images attachées  
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #91
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut rer
    re
    fait moi plaisir essaie ce fichier

    clique sur le bouton fichier ,choisi ton fichier et voila
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #92
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    je remet une capture d'ecran animée
    Nom : demo2.gif
Affichages : 236
Taille : 1,30 Mo
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #93
    Membre du Club
    Homme Profil pro
    team manager
    Inscrit en
    Juin 2015
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : team manager
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2015
    Messages : 191
    Points : 67
    Points
    67
    Par défaut
    J'ai essayé, mais comme je n'utilise pas le reader de adobe mais plutôt nitro reader 3 qui ne prend pas une place monstrueuse et des ressources de dingue, la procédure ne se lance pas.

    Dans tous les cas je vous remercie de vos efforts mais je pense que le format de mon pdf en plusieurs colonnes risque de planter l'automatisation de l'importation.

    D'autre part les drapeaux jaunes/verts et safety car qui rajoutent des lignes pas importables meme si l'idée est TRES séduisante je pense que le format des feuilles de temps que l'on récupère ne permet pas une automatisation optimale.

    Donc je pense que dans mon cas précis l'importation automatique n'est pas pertinente au vu des particularités des fichiers.

    A titre d'info voila un ctrl+v de quelques lignes avec des "événements" qui seront compliqués à traiter..

    2363 1 3h07:56.005 92 1:51.909 12h37:56.363000
    2384 1 3h09:47.744 93 1:51.739 12h39:48.102000
    2404 1 3h11:39.206 94 1:51.462 12h41:39.564000
    2427 1 3h13:30.726 95 1:51.520 12h43:31.084000
    2457 1 [IN] 3h15:24.182 96 12h45:24.540000
    2476 1 [OUT] 3h16:42.596 96 1:18.414 12h46:42.954000
    2502 1 3h18:33.915 97 12h48:34.273000
    2527 1 3h20:28.817 98 1:54.902 12h50:29.175000
    2552 1 3h22:22.221 99 1:53.404 12h52:22.579000
    2574 1 3h24:14.922 100 1:52.701 12h54:15.280000
    2586 3h25:19.787 YELLOW FLAG
    2596 1 3h26:10.856 101 1:55.934 12h56:11.214000
    2619 1 3h28:14.925 102 2:04.069 12h58:15.283000
    2640 1 3h30:10.493 103 1:55.568 13h00:10.851000
    2642 3h32:17.106 START
    2663 1 3h32:39.734 104 2:29.241 13h02:40.092000
    2678 1 3h34:36.510 105 1:56.776 13h04:36.868000
    2695 1 3h36:30.796 106 1:54.286 13h06:31.154000
    2714 1 3h38:24.915 107 1:54.119 13h08:25.273000
    2733 1 3h40:17.582 108 1:52.667 13h10:17.940000
    2756 1 3h42:11.235 109 1:53.653 13h12:11.593000
    2776 1 3h44:03.944 110 1:52.709 13h14:04.302000
    2797 1 3h45:58.302 111 1:54.358 13h15:58.660000
    2818 1 3h47:50.668 112 1:52.366 13h17:51.026000
    2839 1 3h49:43.457 113 1:52.789 13h19:43.815000
    2861 1 [IN] 3h51:40.411 114 13h21:40.769000
    2882 1 [OUT] 3h52:58.696 114 1:18.285 13h22:59.054000
    2906 1 3h54:46.837 115 13h24:47.195000
    2940 1 3h56:37.966 116 1:51.129 13h26:38.324000
    2958 1 3h58:31.019 117 1:53.053 13h28:31.377000
    2969 3h59:07.818 YELLOW FLAG

    3372 4h35:30.123 START
    3388 1 4h36:30.984 135 2:15.512 14h06:31.342000
    3411 1 4h38:24.495 136 1:53.511 14h08:24.853000
    3433 1 4h40:16.400 137 1:51.905 14h10:16.758000
    3456 1 4h42:09.874 138 1:53.474 14h12:10.232000
    3507 4h46:50.653 YELLOW FLAG
    3555 4h54:50.635 START
    3655 1[DRIVER] 1h30:35.902 138 11h00:36.260000
    3656 1 [OUT] 5h03:01.621 138 14h33:01.979000
    3676 1 5h04:54.335 139 14h34:54.693000
    3698 1 5h06:48.141 140 1:53.806 14h36:48.499000
    3719 1 5h08:40.918 141 1:52.777 14h38:41.276000
    3738 1 5h10:37.164 142 1:56.246 14h40:37.522000
    3760 1 5h12:29.476 143 1:52.312 14h42:29.834000
    3792 1 [IN] 5h14:24.562 144 14h44:24.920000
    3812 1 [OUT] 5h15:42.667 144 1:18.105 14h45:43.025000
    3836 1 5h17:35.156 145 14h47:35.514000
    3867 1 5h19:30.813 146 1:55.657 14h49:31.171000
    3892 1 5h21:25.519 147 1:54.706 14h51:25.877000
    3901 5h22:18.023 YELLOW FLAG
    3916 1 5h23:27.357 148 2:01.838 14h53:27.715000
    3940 1 5h26:14.123 149 2:46.766 14h56:14.481000
    3963 1 5h29:28.777 150 3:14.654 14h59:29.135000
    3987 1 5h32:46.201 151 3:17.424 15h02:46.559000
    4012 1 5h35:33.140 152 2:46.939 15h05:33.498000
    4038 1 5h38:35.865 153 3:02.725 15h08:36.223000
    4062 1 5h42:11.038 154 3:35.173 15h12:11.396000
    4076 5h44:58.180 START
    4089 1 5h45:11.551 155 3:00.513 15h15:11.909000
    4108 1 5h47:10.569 156 1:59.018 15h17:10.927000
    4132 1 5h49:04.803 157 1:54.234 15h19:05.161000


    Une fois de plus merci pour tous vos efforts, cela profitera peut-etre à d'autres qui ont des fichiers PDF plus standards que les miens

  14. #94
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    ok donne moi l'adresse complete du chemin de l'application nitro .....
    exemple C:\programe File ........
    et je te le fait avec le tiens
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #95
    Membre du Club
    Homme Profil pro
    team manager
    Inscrit en
    Juin 2015
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : team manager
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2015
    Messages : 191
    Points : 67
    Points
    67
    Par défaut
    D:\Bureautique\Nitro\nitropdfreader.exe

    Merci

  16. #96
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    heu... tu a une version portable de cette application ???????

    normalement si il est correctement installé c'est dans le dossier programe
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  17. #97
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello,
    Citation Envoyé par jchuillier2 Voir le message
    Salut,

    Ca m'interesse beaucoup, mais comment gérer l'affichage des 2 colonnes ?

    Avec un système comme ca je pourrais faire des stats sur l'ensemble des voitures et pas seulement sur les miennes mais j'ai peur qu'il faille passer plus de temps à enlever les drapeaux jaunes et gérer les 2 colonnes que faire les 5-6 operations de ctrl+c ctrl+v.

    Qu'est ce que tu en penses ?

    Merci
    l'avantage de Xpdf pdftotext c'est qu'il est capable de remettre du multicolonne en une seule colonne avec l'option -raw . Exemple d'utilisation :
    pdftotext.exe R1.pdf -raw
    Il est disponible ici . Prendre le fichier bin32/pdftotext.exe dans le zip windows.
    voici une macro brute de fonderie qui permet d'exploiter le fichier généré pour le remettre en forme dans excel ( à optimiser au niveau motifs et transfert dans feuille excel ) :
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Public Sub EclateTempsAuto()
        Dim regEx1 As Object
        Dim regEx2 As Object
        Dim OMatches1, OMatch1, OSubMatch1
        Dim OMatches2, OMatch2, OSubMatch2
        Dim temps
        Dim Ligne As Integer
        Dim IndexFichier As Integer
        Dim MonFichier As String
        Dim ContenuLigne As String
        Dim StartCell As Range
        Set regEx1 = CreateObject("VBScript.RegExp")
           With regEx1
            .Global = True
            .IgnoreCase = False
            ' motif avec 3 sous-motifs (entre parenthèses)
         '   .Pattern = "^(\d{1,4})[ ]+(\d{1,2})[ ]+\d*h*\d+:\d+.\d+[ ]+(\d+)[ ]+([\d:\.]+)[ ]+.[\dh\:\.]+"
             .Pattern = "^(\d{1,4})\s(\d{1,2})[ ]+[\d:\.h]+\s(\d+)\s([\d:\.]+)[ ]+.*"
           End With
        Set regEx2 = CreateObject("VBScript.RegExp")
        With regEx2
            .Global = True
            .IgnoreCase = False
            ' motif avec 3 sous-motifs (entre parenthèses)
            .Pattern = "(\d+)[:\.](\d+)[:\.](\d+)"
        End With
        Set StartCell = ActiveSheet.Range("A2")
        Ligne = 0
        MonFichier = "F:\temp\test_excel\R1.txt" '<-- mettez ici le nom du fichier à lire
        IndexFichier = FreeFile()
        Open MonFichier For Input As #IndexFichier 'ouvre le fichier
        While Not EOF(IndexFichier) '
        Line Input #IndexFichier, ContenuLigne     ' lecture du fichier ligne par ligne: la variable "ContenuLigne" contient le contenu de la ligne active
        ' Debug.Print ContenuLigne
        ' On recherche tous les éléments
        Set OMatches1 = regEx1.Execute(ContenuLigne)
        For Each OMatch1 In OMatches1
          If OMatch1.SubMatches.Count = 4 Then
          Set OMatches2 = regEx2.Execute(OMatch1.SubMatches(3))
          If OMatches2.Count = 1 Then
            If OMatches2(0).SubMatches.Count = 3 Then
               temps = OMatches2(0).SubMatches(0) * 60 + OMatches2(0).SubMatches(1) + OMatches2(0).SubMatches(2) / 1000
               StartCell.Offset(Ligne, 0) = OMatch1.SubMatches(1)
               StartCell.Offset(Ligne, 1) = OMatch1.SubMatches(0)
               StartCell.Offset(Ligne, 2) = OMatch1.SubMatches(2)
               StartCell.Offset(Ligne, 3).Value2 = temps
               Ligne = Ligne + 1
            End If
          End If
         ' Debug.Print Temps
         ' Debug.Print "=================="
          End If
        Next
        Wend
    Close #IndexFichier ' ferme le fichier
    Set regEx1 = Nothing
    Set regEx2 = Nothing
    Debug.Print "Fin"
    End Sub
    En pièce jointe le fichier texte généré par pdftotext et le fichier excel avec la macro dedans. Regarde si dans le fichier excel le résultat correspond à ce que tu attends.

    Ami calmant, J.P
    Fichiers attachés Fichiers attachés
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  18. #98
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bon je l ai teecharge

    voila le chemin que ton reader devrait avoir
    "C:\Program Files\Nitro\Reader 5\NitroPDFReader.exe"
    dit moi si c'est bon ???????
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #99
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour

    Je vous trouve tous assez imprudents d'installer sur votre machine des produits mal connus et qui, dans la plus "innocente" des hypothèses, pourraient avoir été conçus de telle manière qu'ils pourraient ensuite assez facilement être modifiés par des "bébêtes" puis devenir vecteurs de propagation des mêmes "bébêtes".
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  20. #100
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    t inquiet unparia

    je passe d abord l'exe a la moulinette de "focrce decompile " et autre petit outils secret
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Faire suivre une variable avec des espaces
    Par jonathan34 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/02/2008, 20h57
  2. soucis de chaine avec des espaces
    Par glouffy6 dans le forum Langage
    Réponses: 10
    Dernier message: 31/07/2007, 16h40
  3. [Débutant] Scinder une chaine avec des points
    Par poiwalt dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 06/07/2007, 20h09
  4. passer d'une chaine contenant des espaces a un tableau
    Par flyfrog dans le forum Contribuez
    Réponses: 3
    Dernier message: 26/06/2006, 20h12
  5. [VB.NET] Compléter une chaine avec des espaces
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 09h09

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