Extraire une liste à partir d'un copier-coller de site - Page 2

Résolu
Précédent
  • 1
  • 2
  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    2 erreurs détectées
    La première: erreur de saisie de ma part(un + 1 à la place de * 1)
    If CDate(Left(ShVert.Cells(LigV + 4, "A"), 10)) * 1 > Date + 1 Then 'Si la date est supérieure à celle d'aujourd'hui

    la correction:
    If CDate(Left(ShVert.Cells(LigV + 4, "A"), 10)) * 1 > Date * 1 Then 'Si la date est supérieure à celle d'aujourd'hui

    La deuxième: dans la liste "Pro", une date était mal écrite: 11/021/2019 au lieu de 11/12/2019

    https://mon-partage.fr/f/PmyE3nry/

    Essayez à nouveau
    0
  2. Guy_L Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   1
     
    Hélas, ça butte toujours sur cette deuxième ligne:
    If CDate(Left(ShVert.Cells(LigV + 3, "A") * 1, 10)) * 1 > Date * 1 Then 'Si la date est supérieure à celle d'aujourd'hui
    ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 3, "A")) & "/" & Month(ShVert.Cells(LigV + 4, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente

    et dans le fichier "réel", il y a encore des dates du type 29/11/2019

    Dans le fichier Classeur 3 ci-dessous j'ai mis deux annonces symptomatiques (toutes deux dans "Pro")
    https://mon-partage.fr/f/pwZ4XesD/
    La première "passe" (date OK 29/11/2018), la seconde non (29/11/2019)
    0
  3. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Encore une bourde (copier-coller non corrigé)
    dans la ligne ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 3, "A")) & "/" & Month(ShVert.Cells(LigV + 4, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente

    remplacez le 4( en gras) par 3, ce qui donne
    ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 3, "A")) & "/" & Month(ShVert.Cells(LigV + 3, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente

    Essayez
    0
  4. Guy_L Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   1
     
    Je pense que le problème était dans le Else:

    Script initial
    ShHoriz.Cells(LigH, "A") = Format(ShVert.Cells(LigV + 3, "A"), "mm/dd") 'Date

    > avec donc un test sur la ligne + 3 alors qu'avec le prix, elle est décalée en + 4

    Script corrigé
    ShHoriz.Cells(LigH, "A") = Format(ShVert.Cells(LigV + 4, "A"), "mm/dd/yyyy") 'Date


    J'ai aussi corrigé ces lignes
    'Contrôle de la date
    If CDate(Left(ShVert.Cells(LigV + 4, "A"), 10)) * 1 > Date * 1 Then 'Si la date est supérieure à celle d'aujourd'hui
    ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 3, "A")) & "/" & Month(ShVert.Cells(LigV + 3, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente
    Else
    ShHoriz.Cells(LigH, "A") = Format(ShVert.Cells(LigV + 4, "A"), "mm/dd/YYYY") 'sinon on conserve la date

    en
     'Contrôle de la date
    If CDate(Left(ShVert.Cells(LigV + 3, "A"), 10)) * 1 > Date * 1 Then 'Si la date est supérieure à celle d'aujourd'hui
    ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 3, "A")) & "/" & Month(ShVert.Cells(LigV + 3, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente
    Else
    ShHoriz.Cells(LigH, "A") = Format(ShVert.Cells(LigV + 3, "A"), "mm/dd/YYYY") 'sinon on conserve la date


    Pour autant, la macro bute à nouveau sur
    ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 3, "A")) & "/" & Month(ShVert.Cells(LigV + 3, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente


    ????
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Je me suis mal fait comprendre, c'était justement la ligne du "Else" (celle en gras)
    For i = 1 To DerLigV
    ShHoriz.Cells(LigH, "B") = ShVert.Cells(LigV, "A") 'Intitulé
    If ShVert.Cells(LigV + 3, "A") = "Date" Then
    ShHoriz.Cells(LigH, "C") = ShVert.Cells(LigV + 1, "A") 'Prix
    ShHoriz.Cells(LigH, "D") = ShVert.Cells(LigV + 2, "A") 'Catégorie
    'Contrôle de la date
    If CDate(Left(ShVert.Cells(LigV + 4, "A"), 10)) * 1 > Date + 1 Then 'Si la date est supérieure à celle d'aujourd'hui
    ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 4, "A")) & "/" & Month(ShVert.Cells(LigV + 4, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente
    Else
    ShHoriz.Cells(LigH, "A") = Format(ShVert.Cells(LigV + 4, "A"), "mm/dd/YYYY") 'sinon on conserve la date
    End If
    ShHoriz.Cells(LigH, "E") = ShVert.Cells(LigV + 6, "A") 'Vues
    ShHoriz.Cells(LigH, "F") = ShVert.Cells(LigV + 7, "A") 'Tel
    ShHoriz.Cells(LigH, "G") = ShVert.Cells(LigV + 8, "A") 'Mails reçus
    LigV = LigV + 9
    Else
    ShHoriz.Cells(LigH, "D") = ShVert.Cells(LigV + 1, "A") 'Catégorie
    'Contrôle de la date
    If CDate(Left(ShVert.Cells(LigV + 3, "A") * 1, 10)) * 1 > Date * 1 Then 'Si la date est supérieure à celle d'aujourd'hui
    ShHoriz.Cells(LigH, "A") = Format(Day(ShVert.Cells(LigV + 3, "A")) & "/" & Month(ShVert.Cells(LigV + 3, "A")) & "/" & Year(Date) - 1, "mm/dd/yyyy") 'on prend l'année précédente
    Else
    ShHoriz.Cells(LigH, "A") = Format(ShVert.Cells(LigV + 3, "A"), "mm/dd/YYYY") 'sinon on conserve la date
    End If
    ShHoriz.Cells(LigH, "E") = ShVert.Cells(LigV + 5, "A") 'Vues
    ShHoriz.Cells(LigH, "F") = ShVert.Cells(LigV + 6, "A") 'Tel
    ShHoriz.Cells(LigH, "G") = ShVert.Cells(LigV + 7, "A") 'Mails reçus
    LigV = LigV + 8
    End If

    https://mon-partage.fr/f/NDPeON2W/

    Cdlt
    0
  7. Guy_L Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   1
     
    En effet, j'avais changé la partie avant le Else, pas celle d'après. Maintenant, tout semble fonctionner à merveille. Comment vous remercier ?
    0
  8. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Si tout fonctionne correctement, mettre en résolu.

    Cdlt
    0
  9. Guy_L Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   1
     
    OK, non sans un grand merci
    0
Précédent
  • 1
  • 2