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 :

Apres lancement d'une macro, excel " fait des choses tout seul "


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de lulu_MAHC
    Homme Profil pro
    Stagiaire
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Par défaut Apres lancement d'une macro, excel " fait des choses tout seul "
    Salut All ,

    Tout d'abord desole pour le titre un peu fantaisie du sujet mais mon probleme est vraiment etrange

    (Je vous colle le code tout de suite après pour que vous puissiez le voir ) . Apres lancement d une macro , tres simple et qui sert juste a reorganiser mes donnes, sur un premier fichier , excel decide de son propre chef de modifier son comportement ....
    La macro suivante :
    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
     
    Sub mc()
     
     
     For Each c In Worksheets("Sheet1").Range("A1:D3").Cells
     If c.Value <> 0 Then
     
     c.Value = Replace(c.Value, "><m", ".")
     c.Select
     
        Selection.TextToColumns Destination:=c, DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
            :=".", FieldInfo:=Array(Array(1, 2), Array(2, 1)), TrailingMinusNumbers:=True
     
     
     
      End If
      Next
    End Sub
    Permet de passer de la photo 1 a la photo 2.
    Je precise que pour arriver a la photo 1 je copie/colle (manuellement ou par macro ) simplement le contenu d'un fichier texte vers un nouveau classeur excel.
    Donc pour le premier fichier , excel me donne le resultat desire . Mais lorsque je souhaite effectuer un copier/colle avec le contenu du deuxieme fichier j obtiens la photo 3 alors que je devrais obtenir l'equivalent de la photo 1. C'est comme si excel enregistrait quelque part ce que faisait ma macro et decidait de le reproduire tout seul ( et en plus pas proprement )...
    Si quelqu'un sait pourquoi , ou sait comment resoudre le probleme je lui serait tres reconnaissant ... Je suis debutant en VBA mais je commence a me debrouiller et ce genre de comportement m'est completement inconnu .....
    ( en plus , entre la photo 1 et 3 il s agit du contenu du meme fichier pour bien vous montrer la difference qu excel fait tout seul )

    1 : Nom : Photo1.PNG
Affichages : 471
Taille : 48,2 Ko
    2 : Nom : Photo2.PNG
Affichages : 248
Taille : 32,1 Ko
    3 : Nom : PHOTO3.PNG
Affichages : 212
Taille : 37,0 Ko

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut heu
    j'avoue que l'on comprends pas bien ta question tout du moins ce qui se passe avant ta macro
    est ce des fichiers XML ?
    si j'ai bien compris tu ouvre tes fichiers xml ,tu copie ,tu ferme,et tu colle dans les cellules

    heu... pourquoi tu fait ca?????
    il y a une palette d'outil excel ou vba pour ce genre de manip en un coup !!!!!
    surtout que c'est assez facile avec des fichiers xml( bien conçus bien entendu!!!)

    un exemple de procédé qui fait ce que tu demande en un coup
    utilise la fonction VBA open for output as freefile
    recupere le texte complet avec EOF
    fait un replace du texte de "</"par rien
    en suit tu fait
    mytab=split(tontexteobtenu,"<")
    et maintenant range(cells(1,1),cells(ubound(mytab),1)=mytab
    tu aura ton fichier xml sans les balises et chaque éléments dans une cellule a condition de ne pas avoir plus d'élément que de colonne dispo dans excel
    et voila en un coup

    pourrait on avoir un exemple de ces fichiers xml tout du moins le code entier dans les balises quote
    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. #3
    Membre averti Avatar de lulu_MAHC
    Homme Profil pro
    Stagiaire
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Par défaut
    Oui oui je sais je sais pour les outils, mais en fait cette partie de code fait partie d une grosse macro qu j ai deja realise ( et qui fonctionne impec pour les fichier ayant le bon format ) qui traite effectivement des fichiers xml ... je me sers en fait des balises pour recuperer des donnees etc .. mais la le truc c est qu'il y a quelques fichiers qui ont un mauvais format, donc j ai creee ce petit morceau de code , qui realise exactement ce dont j'ai besoin mais uniquement pour le premier fichier ... Une fois ce premier traitement effectue , excel n'en fait qu'a sa tete ...

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    il n'en fait pas qu'a sa tete
    en fait les fichier de mauvais formats on des erreur différentes ils faudrait que tu prenne toutes les possibilités en compte soit pire que de le faire a la main
    donne moi un de ces foutus fichier même un avec des erreurs en me précisant l'erreur qui peut éventuellement provoquer ce petit désagrément
    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. #5
    Membre averti Avatar de lulu_MAHC
    Homme Profil pro
    Stagiaire
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Stagiaire
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Par défaut
    Le truc c est que justement je traits ces " mauvais fichier " en les rendant exploitbale par ce petit bout de code. Ce qui est bizarre c'est qu elle functionne tres bien sur n importe lequel des fichiers bizarre mais il faut a chaque fois que je ferme excel sinon le copier coller plante... C est comme si il realiser la macro ( sans que je ne lui demande ) mais sans pour autant obtenir ce que je desire ....
    Je te donne ici un un bout du fichier " corrompu" avec son affichage initial dans le notepad++ ( je ne me sert de ce dernier que pour visualizer ) j ai remplacer les donnes ( car ce sont des donnes commerciales ) par des ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <?xml version="1.0" encoding="UTF-8"?><?mso-infoPathSolution productVersion="11.0.8165" PIVersion="1.0.0.0" href="http://globalvjf/globalpet2003vjfarchive/PE2003VJF/Legacy%20Lux%20PSFs/Forms/GlobalPSFV1A.xsn" name="urn:schemas-microsoft-com:office:infopath:Global-PSF---InfoPath-template:-myXSD-2007-05-25T17-58-20" solutionVersion="1.0.0.1474" ?><?mso-application progid="InfoPath.Document"?><my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:s1="http://AdsiServices.WhoAmIRequest" xmlns:s2="http://AdsiServices.WhoAmIResponse" xmlns:ns1="http://AdsiServices.AdsiServicesPersonRequest" xmlns:ns2="http://AdsiServices.AdsiServicesPersonResponse" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:tns="http://AdsiServices_WS/findADPerson" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns3="http://AdsiServices_WS/getMyAccountInfo" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-05-25T17:58:20" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-us"><my:Project_Number>???</my:Project_Number><my:Main_Number>????</my:Main_Number><my:Project_Type>??????????</my:Project_Type><my:Factory_Location>???</my:Factory_Location><my:Project_Description>???????????????</my:Project_Description><my:PSFTitle>??????????????</my:PSFTitle><my:Revision_Entry_Text>Updated shipping infos</my:Revision_Entry_Text><my:Current_Revision><my:Current_Rev>001</my:Current_Rev><my:Current_Rev_Date>2009-02-04</my:Current_Rev_Date><my:Current_Description>Updated shipping infos</my:Current_Description><my:Current_Modified_by>??????</my:Current_Modified_by><my:ShowHideRevisionHistory>0</my:ShowHideRevisionHistory><my:Current_Project_Number>????</my:Current_Project_Number></my:Current_Revision><my:Revision_Control><my:Revisions><my:Rev>000</my:Rev><my:Description>Original Document</my:Description><my:Modified_by>????????</my:Modified_by>
    je precise que la premiere partie du code m est inutile

    et je dois en fait garderles balises .. car c est grace a ces dernieres que j arrive a localizer et ensuite recuperer les donnes que je souhaite ... Pour ce qui provoque l'erreur ... je ne sais pas du tout ... peut etre un mauvais format.. peut etre une conversion de fichiers mal faites ... aucune idee ..

    Mais pour moi mon probleme actuel viendrait plus d excel , de la macro ou du code que du fichier xml lui meme , car comme je l ai dit , un par un , cela fonctionne tres bien
    ( les fichier mauvais s affichent en fait sur une seule ligne ... et c est pas du tout exploitable pour moi au vu de mes methodes de traitements )

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    d'accords et ces quoi le résultat souhaité exactement
    capture d'écran !!!!
    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

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2012, 11h15
  2. Lien DDE Lancement d'une macro Excel
    Par Ondine_sas dans le forum Macro
    Réponses: 10
    Dernier message: 16/05/2011, 18h09
  3. Réponses: 1
    Dernier message: 01/03/2011, 14h57
  4. lancement d'une macro Excel de SQL Server
    Par batou22003 dans le forum Développement
    Réponses: 2
    Dernier message: 02/08/2010, 01h23
  5. [AC-2003] Exécuter une macro Excel en passant des arguments
    Par tarnx dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/12/2009, 09h40

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