Extraire une liste à partir d'un copier-coller de site
Résolu/Fermé
Guy_L
Messages postés
170
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
26 mars 2024
-
15 janv. 2019 à 13:50
Guy_L Messages postés 170 Date d'inscription samedi 16 septembre 2006 Statut Membre Dernière intervention 26 mars 2024 - 20 janv. 2019 à 17:27
Guy_L Messages postés 170 Date d'inscription samedi 16 septembre 2006 Statut Membre Dernière intervention 26 mars 2024 - 20 janv. 2019 à 17:27
A voir également:
- Extraire une liste à partir d'un copier-coller de site
- Liste déroulante excel - Guide
- Site de telechargement - Guide
- Extraire une video youtube - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Site de vente entre particulier - Guide
28 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
337
20 janv. 2019 à 13:02
20 janv. 2019 à 13:02
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
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
Guy_L
Messages postés
170
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
26 mars 2024
1
20 janv. 2019 à 13:23
20 janv. 2019 à 13:23
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)
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)
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
337
20 janv. 2019 à 13:40
20 janv. 2019 à 13:40
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
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
Guy_L
Messages postés
170
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
26 mars 2024
1
20 janv. 2019 à 14:46
20 janv. 2019 à 14:46
Je pense que le problème était dans le Else:
Script initial
> avec donc un test sur la ligne + 3 alors qu'avec le prix, elle est décalée en + 4
Script corrigé
J'ai aussi corrigé ces lignes
en
Pour autant, la macro bute à nouveau sur
????
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
????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
337
20 janv. 2019 à 15:19
20 janv. 2019 à 15:19
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
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
Guy_L
Messages postés
170
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
26 mars 2024
1
20 janv. 2019 à 16:16
20 janv. 2019 à 16:16
En effet, j'avais changé la partie avant le Else, pas celle d'après. Maintenant, tout semble fonctionner à merveille. Comment vous remercier ?
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
337
20 janv. 2019 à 16:29
20 janv. 2019 à 16:29
Si tout fonctionne correctement, mettre en résolu.
Cdlt
Cdlt
Guy_L
Messages postés
170
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
26 mars 2024
1
20 janv. 2019 à 17:27
20 janv. 2019 à 17:27
OK, non sans un grand merci