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écoder messages sous VBA


Sujet :

Macros et VBA Excel

  1. #21
    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
    Et le type de plafond, tu en as besoin?
    "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...
    ---------------

  2. #22
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    Ok. C'est déjà plus raisonnable. Donc, la règle est de prendre le plus restrictif de tous les plafonds (BKN, OVC, NSC, ...) que l'on trouve dans un segment, c'est bien ça?

    "NSC" n'est pas tout à fait considéré comme un plafond mais nous annonce qu'il y en a pas donc la comparaison se fait uniquement entre "BKN" et "OVC" dans un segment, la plus part du temps nous avons uniquement un seul des deux, le cas d'avoir deux "BKN" ou "OVC" dans un segment est assez rare.

    Concernant le type de plafond, si je peux l'avoir c'est mieux sinon je me débrouillerai.

    Merci encore
    MU

  3. #23
    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
    Voici un truc à tester sous toutes les coutures... et encore à tester et retester avec des nouvelles chaines brutes... On ne teste jamais assez ce genre de truc

    Pour tester, vider le tableau des groupes, vider la colonne Extrait? du tableau des données. Si cellule rouge dans le tableau des données, la remettre à automatique avant le test suivant

    Nom : 2019-06-10_191623.png
Affichages : 190
Taille : 48,9 Ko

    Quelques petites choses ont changé...

    Dans les tables Excel, j'ai ajouté une colonne Plafond pour recevoir le plus petit plafond renseigné. J'ai également ajouté, dans le tableau des données brutes, une colonne pour la date et une pour le statut du transfert.

    Le type personnalisé a été enrichi, notamment pour en ajoutant le plafond
    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
    Public Type Group
      Ceiling As Long
      Date_Issued As String
      Force As Long
      KeyWord As String
      Overcast As String
      Position As Long
      Time_Issued As Date
      ValidityBeginDate As String
      ValidityBeginTime As Date
      ValidityEndDate As String
      ValidityEndTime As Date
      Visibility As Long
      Wind As Long
    End Type


    La procédure qui traite le transfert boucle sur le tableau des données brutes, en testant si la ligne a déjà été traitée. Si erreur durant le traitement, le Catch s'en charge et met en rouge la colonne de la chaine brute qui pose problème. Sinon, on met le statut Traité à VRAI.

    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
    Sub Extract()
      Dim Cell As Range
      Dim Counter As Long
      Dim Data As String
      Dim Datas
      Dim Groups() As Group
      Dim IssuedDate As String
      Dim IssuedTime As Date
      Dim NewGroup As Group
      Dim Separators
     
      Application.ScreenUpdating = False
      For Each Cell In Range("t_Datas[Donnée]")
        On Error GoTo Catch
        If Cell(1, 3) <> True Then
          Data = Cell.Value
          IssuedDate = Cell(1, 2).Value
          IssuedTime = Mid(Data, 3, 2) / 24 + Mid(Data, 5, 2) / 1440
          Data = Replace(Data, Left(Data, 8), "")
          Separators = getArrayFromCells(Range("t_Bornes[Borne]"))
          Datas = getDatas(Data, Separators, ";")
          ReDim Groups(UBound(Datas))
          For Counter = 0 To UBound(Datas)
            Groups(Counter) = getGroup(Trim(Datas(Counter)), IssuedDate, IssuedTime, Counter + 1)
          Next
          PutGroupsInTable Groups
    Catch:
          If Err <> 0 Then
            Cell.Interior.Color = vbRed
          Else
            Cell(1, 3).Value = True
          End If
        End If
      Next
      Application.ScreenUpdating = True
    End Sub


    La segmentation n'a pas bougé. Si d'autres mots-clé (à un mot, deux mots ou x mots) venaient à apparaître, il suffirait de les ajouter en triant sur les plus longs d'abord. Attention bien entendu que un (petit) mot-clé ne peut pas correspondre à une chaine contenue à l'intérieur d'un segment (cela va de soi mais je préfère le dire). Donc, pas de mot-clé KT ou OVC ou autre...

    L'extraction de certaines propriétés d'un segment a été modifiée et, au lieu de recevoir le segment, reçoit le tableau des propriétés. Cela permet un traitement plus aisé de la propriété. Il serait concevable et même souhaitable de généraliser le processus à toutes les propriétés, histoire de normaliser les process. Cela facilite la maintenance et l'évolution, même si dans certains cas les traitements pourraient être un chouia plus lents. Je préfère de loin une maintenance et une évolution aisées à un code qui gagne quelques millisecondes.

    GetGroup a donc été adapté pour passer soit le segment en string, soit le segment en tableau.
    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
    Function getGroup(ByRef Data, ByVal IssuedDate As String, IssuedTime As Date, ByVal Position) As Group
      Dim G As Group
      Dim Values
     
      Values = Split(Data, " ")
      G.Position = Position
      G.Date_Issued = IssuedDate
      G.Time_Issued = IssuedTime
      SetCeiling G, Data
      SetKeyWord G, Data
      SetOvercast G, Values
      setValidities G, Data
      SetVisibility G, Values
      SetWindForce G, Values
      getGroup = G
    End Function
    A titre d'exemple, deux propriétés qui utilisent le segment en array plutôt qu'en string. La première sort de la boucle dès que possible, la seconde est obligée de parcourir tout l'array pour récupérer la plus petite valeur. Evidemment, pas d'Exit Do dans le premier cas, mais une sortie propre de la boucle

    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
    Sub SetVisibility(ByRef G As Group, ByVal Values)
     
      Dim Counter As Long
     
      Do While Counter <= UBound(Values) And G.Visibility = 0
        If Len(Values(Counter)) = 4 And IsNumeric(Values(Counter)) Then G.Visibility = Values(Counter) * 1
        Counter = Counter + 1
      Loop
     
    End Sub
     
    Sub SetOvercast(ByRef G As Group, ByVal Values)
      Dim Counter As Long
      Dim Value
      Dim Pos As Long
     
      For Counter = 0 To UBound(Values)
        If InStr(1, Values(Counter), "BKN") > 0 Or InStr(1, Values(Counter), "OVC") > 0 Then
          If Mid(Values(Counter), 4, 3) < Value Or IsEmpty(Value) Then Value = Mid(Values(Counter), 4, 3)
        End If
      Next
      If Not IsEmpty(Value) Then G.Overcast = Value
    End Sub
    Fichiers attachés Fichiers attachés
    "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...
    ---------------

  4. #24
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    Pierre,

    ça marche impeccable, un seul souci quand je vide le tableau des groupes (toutes les données extraites) et redémarre la macro je n'ai aucune donnée extraite dans le tableau des groupes, cela ne marche que si je ne vide pas le tableau des groupes et rajoute une nouvelle ligne d'extraction dans données, j'ai aussi remarqué qu'en cas de rajout d'une nouvelle ligne de données et après avoir démarré la macro, le tableau des groupes s'alimente sauf la colonne date.

    Merci beaucoup!
    MU

  5. #25
    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
    N'oublie pas de supprimer les VRAI dans la colonne Extrait? des chaines brutes, car les lignes à VRAI ne sont pas traitées. Il faut aussi compléter la colonne DATE du tableau des chaines brutes.

    il restera un problème qui n'a pas encore été traité (en plus des bugs et adaptations éventuelles). C'est le problème du débordement sur le mois suivant pour les Validités des chaines récupérées en fin de mois. En effet, un Issue Date au 30/06/2019 va probablement donner certaines validités au 01 juillet. Ce problème n'est actuellement pas traité, mais normalement, si tu as compris le code que j'ai proposé, il te serait relativement aisé de pouvoir adapter le code. Sinon, reviens.
    "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. #26
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    en effet j'avais oublié de vider la colonne des "statut" vrai, et maintenant j'ai une ligne des données qui est en rouge

  7. #27
    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 qu'il y a un cas non prévu... Peux-tu montrer la chaine qui pose problème?

    Pour pouvoir trouver le problème, il faut désactiver temporairement la gestion des erreurs... Va dans les options du VBE et mets la gestion d'erreur sur "Toutes les erreurs"... Le code s'arrêtera sur la ligne de code qui pose problème...

    Nom : 2019-06-10_213046.png
Affichages : 135
Taille : 10,9 Ko
    "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. #28
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    "IssuedTime = Mid(Data, 3, 2) / 24 + Mid(Data, 5, 2) / 1440" j'ai une erreur d'execution sur cette ligne

    j'ai vidé les groupes et essayé de garder une ligne de données

  9. #29
    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
    Donne la chaine brute qui a posé le problème. Apparemment, le tout début de la chaine n'est pas correct. La chaine devrait commencer par le jour et l'heure puis Z => jjhhmmZ
    "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. #30
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    J'avais essayé cette extraction:

    101700Z 1018/1124 05016KT 9000 FEW013=

  11. #31
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    sinon tu peux essayer celle là aussi:

    101710Z 1018/1124 23008KT 9999 FEW030
    PROB40 TEMPO 1021/1103 08020G35KT 3000 TSRA SCT030 FEW033CB=

  12. #32
    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
    Je n'ai eu aucun souci avec cette ligne. Es-tu sûr qu'il n'y a pas un espace au tout début de la chaine? Si ta chaine démarre bien avec une bonne séquence pour les issue, ça ne saurait pas buguer là où tu le dis.

    Nom : 2019-06-10_213905.png
Affichages : 120
Taille : 4,2 Ko
    "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...
    ---------------

  13. #33
    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
    Pas eu de soucis non plus...

    Nom : 2019-06-10_214228.png
Affichages : 125
Taille : 4,8 Ko
    "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...
    ---------------

  14. #34
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    si je vide tous les groupes et rajoute en A2 cette extraction brute:

    101710Z 1018/1124 23008KT 9999 FEW030 PROB40 TEMPO 1021/1103 08020G35KT 3000 TSRA SCT030 FEW033CB=

    j'ai les lignes A3 et A4 qui sont rouges.

  15. #35
    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
    Ca n'a rien à voir avec ce qui bloque chez toi pour l'instant, mais au début, je n'extrayais que des strings, et donc la IssuedDate était en string. Dès lors, il y a une inversion des jours/mois dans la date (j'ai changé en date par la suite sur base de la nouvelle colonne Date...).

    Dans le code, au début du module, dans la définition du type de données, il faut modifier la ligne pour Date_Issued en Date_Issued As Date
    "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...
    ---------------

  16. #36
    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
    Pas chez moi... Quelle est la ligne en jaune dans le code, celle sur laquelle le code s'arrête?
    "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...
    ---------------

  17. #37
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    Dès que je vide tout le tableau de groupe, et toutes extractions brutes avec la colonnes des "vrai" et que je rajoute à nouveau une nouvelle extraction brute en A2 , le code s'arrête sur cette ligne:

    IssuedTime = Mid(Data, 3, 2) / 24 + Mid(Data, 5, 2) / 1440

  18. #38
    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
    Je ne vois pas ce qui peut bloquer sur cette ligne si ta chaine commence bien par 101710Z (sans aucun espace devant)...

    Mets une copie d'écran du tableau des chaines brutes et poste ton fichier stp...

    Lorsque la ligne est jaune, passe ta souris sur le mot Data pour voir la chaine qui est contenue dans cette variable et poste-là. Tu peux aussi afficher les variables locales (menu Affichage) pour la voir dans le panneau qui va s'afficher à droite...
    "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...
    ---------------

  19. #39
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Par défaut
    As-tu essayé de vider tous les groupes, date et extrait? et toutes les extractions brutes et de rajouter uniquement une nouvelle ligne d'extraction brute et faire marcher la macro?

    Merci
    MU

  20. #40
    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
    Oui. Le problème ne vient pas du fait que les tableaux sont remplis ou vides... Vu le code qui pose problème chez toi, je suis pratiquement certain qu'il y a un espace en tout début de chaine... Ou alors, il y a un O à la place d'un 0... Mais la chaine que tu m'as donnée fonctionne, même sur un tableau vidé...

    Nom : 2019-06-10_220209.png
Affichages : 125
Taille : 8,4 Ko
    "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...
    ---------------

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/06/2009, 14h05
  2. Réponses: 8
    Dernier message: 07/10/2004, 11h08
  3. (VBA-A] Requete access sous VBA
    Par vanima dans le forum VBA Access
    Réponses: 12
    Dernier message: 20/07/2004, 16h07
  4. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 11h39
  5. Réponses: 7
    Dernier message: 29/10/2002, 10h51

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