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 :

Macro et erreur 13 [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2018
    Messages : 19
    Par défaut Macro et erreur 13
    Bonjour,
    J'utilise la macro CreateActiveFile (écrite par un membre du forum) qui fonctionne très bien d'habitude mais là j'ai un pb avec le fichier joint.
    Je n'arrive pas à trouver pourquoi, pourriez-vous m'aider ?
    Merci d'avance
    Fichiers attachés Fichiers attachés

  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,

    ne pouvant télécharger les fichiers de type xlsm, pourrais-tu nous en dire plus sur ton soucis stp ?

    Quel est le code utilisé (à copier ici dans les balises CODE) ? quelle est l'erreur que tu rencontres ? etc.
    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 averti
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2018
    Messages : 19
    Par défaut
    Merci Jean-Philippe,

    Visual Basic m'annonce :
    "Erreur d'exécution '13':
    Incompatibilité de type"
    Préfères-tu les données du fichier Excel sous un autre format ?

    Voici le code de la macro

    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
    60
    61
    62
    63
    64
    Sub CreateAllFiles()
      CreateKML Worksheets("LineString")
      CreateKML Worksheets("Point")
      CreateKML Worksheets("Polygon")
    End Sub
     
    Sub CreateActiveFile()
      CreateKML ActiveSheet
    End Sub
     
    Sub CreateKML(Optional sh As Worksheet)
      Dim xml As String
      Dim xmls As String
      Dim Header As String
      Dim Footer As String
      Dim DataCell As Range
      Dim HeaderCell As Range
      Dim Space As String
      Dim fs As Object
      Dim PathName As String
     
      Space = vbLf
      PathName = ThisWorkbook.Path & "\" & ActiveWorkbook.Name & ".kml"
     
      Header = "<?xml version=""1.0"" encoding=""utf-8""?>" & Space & "<kml xmlns=""http://www.opengis.net/kml/2.2"">" & Space & "<Document>" & Space
      Footer = "</Document>" & Space & "</kml>"
     
      xmls = Header
      Set DataCell = sh.Range("a2")
      Do While DataCell.Value <> ""
        xml = "<Placemark>" & Space
        xml = xml & "<name>" & DataCell(1, 1).Value & "</name>" & Space
        If sh.Name = "Polygon" Then
          xml = xml & "<" & sh.Name & ">" & Space & "<outerBoundaryIs>" & Space & _
            "<LinearRing>" & Space & "<coordinates>" & DataCell(1, 2) & _
            "</coordinates>" & Space & "</LinearRing>" & Space & _
            "</outerBoundaryIs>" & Space & "</" & sh.Name & ">" & Space
        Else
          xml = xml & "<" & sh.Name & ">" & Space & "<coordinates>" & DataCell(1, 2) & _
            "</coordinates>" & Space & "</" & sh.Name & ">" & Space
        End If
        xml = xml & "<ExtendedData>" & Space
        For Each HeaderCell In sh.Range(sh.Range("c1"), sh.Range("a1").End(xlToRight))
          xml = xml & "<Data name=""" & HeaderCell.Value & """>" & Space & _
          "<value>" & DataCell(1, HeaderCell.Column).Value & "</value>" & Space & "</Data>" & Space
        Next
        xml = xml & "</ExtendedData>" & vbCr & "</Placemark>" & Space
        xmls = xmls & xml
        Set DataCell = DataCell(2)
      Loop
      xmls = xmls & Footer
     
      If Dir(PathName) <> "" Then Kill PathName
      Set fs = CreateObject("ADODB.Stream")
      With fs
        .Type = 2
        .Charset = "utf-8"
        .Open
        .writetext xmls
     
        .savetofile PathName
      End With
      Set fs = Nothing
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2018
    Messages : 19
    Par défaut
    J'ai oublié, la macro s'arrête sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          xml = xml & "<Data name=""" & HeaderCell.Value & """>" & Space & _
          "<value>" & DataCell(1, HeaderCell.Column).Value & "</value>" & Space & "</Data>" & Space

  5. #5
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2018
    Messages : 19
    Par défaut Solution
    J'ai finalement fini par trouver les erreurs dans mon fichier xlsm.
    Merci à tous

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

Discussions similaires

  1. Macro générée & erreur 5992
    Par Khark dans le forum VBA Word
    Réponses: 8
    Dernier message: 20/08/2009, 15h04
  2. [Macro Excel] Erreur d'éxécution 70
    Par kiro4 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/04/2009, 18h46
  3. Création d'une macro mais erreur
    Par guismoman33 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/06/2007, 18h14
  4. [Macro]Exécution macro, message Erreur 3441
    Par samca dans le forum IHM
    Réponses: 1
    Dernier message: 25/04/2007, 20h17
  5. Réponses: 5
    Dernier message: 18/01/2006, 22h57

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