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 :

Bug sous Excel 2007 et pas sous les autres


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut Bug sous Excel 2007 et pas sous les autres
    Bonjour,

    Je suis actuellement en train de réaliser un programme qui permet de copier certaines données qui j'ai préalablement enregistré dans un fichier et les copier sous excel. Sous Ecel 2000 ou autre ca fonctionne bien, mais sous Excel 2007 il a une erreur : La méthode 'OpenText' de l'objet 'Workbooks' a échoué.

    Ma ligne ou il y a le problème est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Workbooks.OpenText Filename:=l_sMistralStructTXT, Origin:= _
             xlWindows, StartRow:=l_nOffset, DataType:=xlDelimited, TextQualifier:= _
             xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
             Comma:=False, Space:=False, Other:=False
    Savez-vous d'où peut provenir ce problème ?
    Je vous remercie par avance pour votre aide.

    Damien

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut damdam78 et le forum

    Le princide de microsoft à chaque changement important de version c'est de modifier les références : en VBA Menu Outils>>Référence.
    Donc, une qui existe sur les versions précédente a été décochée au profit d'une nouvelle version. Mais laquelle ?
    Tu vas sur un ancien Excel où elle fonctionne
    Tu notes toutes les références qui sont cochées.
    Tu vas les rechercher une par une dans excel 2007 et tu essais.
    A+

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut
    Merci pour l'info !!

    Je suis en train de regarder les références cochées, se sont bien "les mêmes" à part que les librairies sont passées de la version 9.0 sous Excel 2000 a la version 12.0 sous excel 2007 et que les controls sont passés de 6.0 SP3 à 6.0 SP6.

    Pensez-vous que mes erreures peuvent venir de ces références qui ont été modifiées ?

    Merci
    Damien

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, je viens de tester sans aucun probleme sous 2002 et 2007
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
     
    Sub Tst()
    Dim sFichier As String
    Dim iOff As Long
        sFichier = ThisWorkbook.Path & "\" & "Essai.txt"
        iOff = 12
     
        Workbooks.OpenText Filename:=sFichier, Origin:= _
                           xlWindows, StartRow:=iOff, DataType:=xlDelimited, TextQualifier:= _
                           xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
                           Comma:=False, Space:=False, Other:=False
    End Sub

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Dans la liste des références, as-tu une référence manquante?

    Si oui, décoche-là...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Dans la liste des références, as-tu une référence manquante?

    Si oui, décoche-là...
    non il n'y a pas de référence manquante, il y a juste les librairies qui ont changées de version

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    C'est le même fichier que tu essaies d'ouvrir dans les différentes versions, ou bien as-tu copier-coller du code? Es-tu sur le même pc?

    Je pense à tes variables qui pourraient ne pas convenir, en particulier l_sMistralStructTXT
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    C'est le même fichier que tu essaies d'ouvrir dans les différentes versions, ou bien as-tu copier-coller du code? Es-tu sur le même pc?

    Je pense à tes variables qui pourraient ne pas convenir, en particulier l_sMistralStructTXT
    C'est exact, c'est le même fichier que j'essai d'ouvrir. En fait c'est une application assez compliquée qui fontionnait très bien depuis quelques temps sous excel 2000 et la on a eu ce problème avec un essai sous excel 2007.

    Ma variable l_sMistralStructTXT a la bonne valeur quand j'utilise le débogage pas a pas...

    En fait le but de mon topic était de savoir si il y avait eu des méthodes (ou objets...) qui avaient été recensées comme mal fonctionner ou fonctionnant de manière différente sous Excel 2007 par rapport à 2000.

    Merci pour votre aide !

    Citation Envoyé par kiki29 Voir le message
    Salut, je viens de tester sans aucun probleme sous 2002 et 2007
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
     
    Sub Tst()
    Dim sFichier As String
    Dim iOff As Long
        sFichier = ThisWorkbook.Path & "\" & "Essai.txt"
        iOff = 12
     
        Workbooks.OpenText Filename:=sFichier, Origin:= _
                           xlWindows, StartRow:=iOff, DataType:=xlDelimited, TextQualifier:= _
                           xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
                           Comma:=False, Space:=False, Other:=False
    End Sub
    Ca m'etonnai aussi que se soit cette fonction qui pose problème.
    J'utilise aussi la méthode Workbooks.Sheet.Range() avec dedans des Sheets.Cell.SpecialCells()
    Il y a peut être des problèmes de taille maximale a ne pas dépasser pour copier/coller... (je me demande ca car ce problème n'est apparu que lors de l'utilisation de mon programme pour une valeur qui était assez longue a copier...)

    Merci

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Il y a souvent des problèmes lorsque la longueur des cellules à copier est supérieure à 255 caractères...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Il y a souvent des problèmes lorsque la longueur des cellules à copier est supérieure à 255 caractères...
    Dans mon code j'ai un nombre supérieure a 255 céllules qui vont être copiées mais par contre dans chaque céllule il n'y a pas beaucoup de caractère. Comment se fait-il que ce copier/coller fonctionne bien sous Excel 2000 et pas sous Excel 2007 ? Existe--t-il un moyen de pouvoir réaliser ce copier coller en une seule foi ou faut-il que je le fasse en plusieures étapes ?

    Merci pour votre aide !

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Il faudrait préciser le code que tu utilises... car au départ, tu parlais de
    et maintenant, tu parles de copier-coller...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 52
    Par défaut
    C'est exact, au début je parlais de l'ouverture croyant que mon problème venait effectivement de là, mais après avoir analyser un peu plus mon problème, il me semble que l'erreur vienne de la copie faite avec Range.
    Je me suis rendu compte que dans Excel 2000, la colonne maximum était IV alors que sous 2007 elle s'arrete à XFD.
    Pensez-vous que cela peut avoir une incidence ?

    Merci

Discussions similaires

  1. [XL-2010] Macro crée sous Excel 2007 fonctionnant pas sous Excel 2010
    Par makis007 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2015, 18h03
  2. Macro sous Excel 2003 fonctionne pas sous Excel 2007 pourquoi
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2012, 14h13
  3. [XL-2007] Projet devellopé sous Excel 2010 ne fonctonne pas sous Excel 2007
    Par jacky62 dans le forum Excel
    Réponses: 2
    Dernier message: 21/01/2012, 18h18
  4. [XL-2007] Activate ne fonctionne pas sous Excel 2007
    Par Pier3d dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/04/2011, 17h21
  5. Réponses: 10
    Dernier message: 17/02/2009, 16h51

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