Extraire une liste (suite)
Fermé
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
-
12 janv. 2020 à 10:59
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 - 27 sept. 2020 à 11:35
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 - 27 sept. 2020 à 11:35
A voir également:
- Extraire une liste (suite)
- Liste déroulante excel - Guide
- Extraire une video youtube - Guide
- Extraire son d'une video - Guide
- Liste déroulante en cascade - Guide
- Extraire image pdf - Guide
6 réponses
M-12
Messages postés
1331
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 avril 2023
284
12 janv. 2020 à 11:16
12 janv. 2020 à 11:16
Bonjour,
Comme le lien de partage du fichier n'est plus disponible sur l'ancien post,
Je ne vois pas comment y mettre un "oeil"
Comme le lien de partage du fichier n'est plus disponible sur l'ancien post,
Je ne vois pas comment y mettre un "oeil"
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
12 janv. 2020 à 12:16
12 janv. 2020 à 12:16
en effet, je n'avais fait attention, désolé voici le fichier en question:
https://mon-partage.fr/f/qqpOYA4F/
https://mon-partage.fr/f/qqpOYA4F/
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
Modifié le 6 sept. 2020 à 20:54
Modifié le 6 sept. 2020 à 20:54
Bonjour,
Je reviens sur ce fichier car il me pose des problèmes.
Il s'agit, comme je l'avais expliqué dans le topic initial, d'un "copier-coller" depuis un célèbre site de petites annonces (je ne sais pas si on a le droit de le citer ici).
Quand on fait un copier-coller, la liste des annonces se présente sous une forme classée verticalement dans la colonne A du fichier Excel.
Or, tout ce qui est collé ne m'intéresse pas forcément et, surtout, le format de chaque annonce, même s'il est globalement le même et occupe autant de ligne pour chacune d'entre elles, peut avoir des "variantes" parasites.
Par exemple, si aucun prix n'est indiqué, la ligne sera évidemment "sautée" lors du collage, ce qui provoque un décalage de lignes.
Autre "parasite" constaté: le prix (toujours lui) est "collé" parfois sous la forme monétaire (en €) parfois en simple nombre. Ce qui, dans le traitement macro de mon fichier pose problème.
Car je l'analyse ainsi:
Pour l'instant, c'est la ligne qui me pose problème. Il faudrait (peut-être) que je traite cette ligne pour détecter un "nombre" et non pas le signe €, de cette façon, que ce soit monétaire ou non, la macro ajoutera une ligne si ce n'est pas un nombre.
Je peux vous soumettre un fichier, mais comme il y a des données personnelles et professionnelles, je devrais limiter ses infos au copier-coller partiel (sans la partie macros). Est-ce que c'est bien utile ?
Merci d'avance pour votre aide
Je reviens sur ce fichier car il me pose des problèmes.
Il s'agit, comme je l'avais expliqué dans le topic initial, d'un "copier-coller" depuis un célèbre site de petites annonces (je ne sais pas si on a le droit de le citer ici).
Quand on fait un copier-coller, la liste des annonces se présente sous une forme classée verticalement dans la colonne A du fichier Excel.
Or, tout ce qui est collé ne m'intéresse pas forcément et, surtout, le format de chaque annonce, même s'il est globalement le même et occupe autant de ligne pour chacune d'entre elles, peut avoir des "variantes" parasites.
Par exemple, si aucun prix n'est indiqué, la ligne sera évidemment "sautée" lors du collage, ce qui provoque un décalage de lignes.
Autre "parasite" constaté: le prix (toujours lui) est "collé" parfois sous la forme monétaire (en €) parfois en simple nombre. Ce qui, dans le traitement macro de mon fichier pose problème.
Car je l'analyse ainsi:
If InStr(ShVert.Cells(LigV + 1, "A").Text, "€") = 0 Then ShVert.Rows(LigV + 1).Insert Shift:=xlDown
'rajoute un saut de ligne si la ligne après l'intitulé n'est pas un prix
Pour l'instant, c'est la ligne qui me pose problème. Il faudrait (peut-être) que je traite cette ligne pour détecter un "nombre" et non pas le signe €, de cette façon, que ce soit monétaire ou non, la macro ajoutera une ligne si ce n'est pas un nombre.
Je peux vous soumettre un fichier, mais comme il y a des données personnelles et professionnelles, je devrais limiter ses infos au copier-coller partiel (sans la partie macros). Est-ce que c'est bien utile ?
Merci d'avance pour votre aide
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
8 sept. 2020 à 14:43
8 sept. 2020 à 14:43
Bonjour,
j'ai avancé un peu, mais suis bloqué par deux autres problèmes:
Voici d'abord comment j'ai résolu la "détection de l'absence de prix"
(au lieu de rechercher le signe € qui n'était pas "vu" de VBA)
1) il subsiste des cellules contenant les mots "x jours restants" avec x qui varie.
Je suis arrivé à vider les lignes contenant un libellé invariable comme ceci:
Mais comment faire s'il y a un nombre qui varie ?
2) la macro balaye toute la colonne comme ceci:
saut qu'elle s'arrête à la ligne 1732 sans aucune raison, car rien de diffère à cet endroit là par rapport au reste.
Je ne comprends pas ...
merci pour votre aide
j'ai avancé un peu, mais suis bloqué par deux autres problèmes:
Voici d'abord comment j'ai résolu la "détection de l'absence de prix"
If IsNumeric(ShVert.Cells(LigV + 1, "A")) = False Then ShVert.Rows(LigV + 1).Insert Shift:=xlDown
'rajoute un saut de ligne si la ligne après l'intitulé n'est pas un nombre
(au lieu de rechercher le signe € qui n'était pas "vu" de VBA)
1) il subsiste des cellules contenant les mots "x jours restants" avec x qui varie.
Je suis arrivé à vider les lignes contenant un libellé invariable comme ceci:
'remplacement du mot "moins d’un jour restant" par [vide]
Selection.Replace What:="moins d’un jour restant", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Mais comment faire s'il y a un nombre qui varie ?
2) la macro balaye toute la colonne comme ceci:
LigV = 1
DerLigV = ShVert.[A100000].End(xlUp).Row
For i = 1 To DerLigV
saut qu'elle s'arrête à la ligne 1732 sans aucune raison, car rien de diffère à cet endroit là par rapport au reste.
Je ne comprends pas ...
merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
9 sept. 2020 à 10:06
9 sept. 2020 à 10:06
petit complément: si j'affiche la variable DerLigV, elle me donne 1732 (comme si la macro ne "voyait" pas la suite)
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
26 sept. 2020 à 22:06
26 sept. 2020 à 22:06
bonjour, tu ne nous dis pas si la colonne A contient quelque chose après la ligne 1732 dans le feuille svVert.
penses-tu vraiment que nous puissions t'aider avec les infos que tu partages?
penses-tu vraiment que nous puissions t'aider avec les infos que tu partages?
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
>
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
27 sept. 2020 à 09:59
27 sept. 2020 à 09:59
j'ai dit:
"petit complément: si j'affiche la variable DerLigV, elle me donne 1732 (comme si la macro ne "voyait" pas la suite) "
en fait je pense que la réponse à votre question se trouve dans cette phrase puisque j'y évoque une suite, c'est donc bien qu'il y a des données après la ligne 1732.
Mais je pense avoir trouvé le "pourquoi":
Avant de balayer les lignes je fixe cette variable DerLigV en scrutant la colonne A. Elle subit ensuite des modifications en hauteur (rajout/suppressions de lignes) ce qui modifie la valeur du nombre de ligne, mais pas la valeur de DerLigV. Donc la macro s'arrête là où DerLigV lui dit de s'arrêter, pas là où il y a la nouvelle fin de liste.
Evidemment, si je pouvais fournir le fichier dans son entier, ce serait plus simple, mais il contient des données confidentielles (professionnelles) et les masquer prendrait un temps considérable. je ne peux qu'en faire un extrait et le joindre ici
https://mon-partage.fr/f/c3Z9r0is/
Il s'agit du fichier "brut de fonderie", avant les modifs proposées par les membres de CCM
A noter que les images ont déjà été supprimées, même si la macro est sensée le faire
Merci
"petit complément: si j'affiche la variable DerLigV, elle me donne 1732 (comme si la macro ne "voyait" pas la suite) "
en fait je pense que la réponse à votre question se trouve dans cette phrase puisque j'y évoque une suite, c'est donc bien qu'il y a des données après la ligne 1732.
Mais je pense avoir trouvé le "pourquoi":
Avant de balayer les lignes je fixe cette variable DerLigV en scrutant la colonne A. Elle subit ensuite des modifications en hauteur (rajout/suppressions de lignes) ce qui modifie la valeur du nombre de ligne, mais pas la valeur de DerLigV. Donc la macro s'arrête là où DerLigV lui dit de s'arrêter, pas là où il y a la nouvelle fin de liste.
Evidemment, si je pouvais fournir le fichier dans son entier, ce serait plus simple, mais il contient des données confidentielles (professionnelles) et les masquer prendrait un temps considérable. je ne peux qu'en faire un extrait et le joindre ici
https://mon-partage.fr/f/c3Z9r0is/
Il s'agit du fichier "brut de fonderie", avant les modifs proposées par les membres de CCM
A noter que les images ont déjà été supprimées, même si la macro est sensée le faire
Merci
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
>
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
27 sept. 2020 à 11:13
27 sept. 2020 à 11:13
merci de spécifier "basic" quand tu utilises les balises de code pour partager du VBA.
on est donc d'accord: au moment d'exécuter l'instruction
il n'y a pas de données après la ligne 1732.
et donc la macro a bien raison de s'y arrêter.
as-tu d'autres questions?
on est donc d'accord: au moment d'exécuter l'instruction
DerLigV = ShVert.[A100000].End(xlUp).Row
il n'y a pas de données après la ligne 1732.
et donc la macro a bien raison de s'y arrêter.
as-tu d'autres questions?
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
>
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
Modifié le 27 sept. 2020 à 11:37
Modifié le 27 sept. 2020 à 11:37
quand je lis "comme si la macro ne "voyait" pas la suite", j'interprete immédiatement que c'est toi qui croit voir une suite qui n'existe pas. la macro ayant toujours raison.
le but de ma question était, d'une part, de t'encourager à réfléchir, d'autre part, à essayer que tu nous donnes quelques informations utiles.
ta première réponse à ma question "la réponse à votre question se trouve dans cette phrase" prouve bien que tu étais enfermé dans un raisonnement incorrect. ensuite, ma question t'a permis de sortir de cet enfermement.
le but de ma question était, d'une part, de t'encourager à réfléchir, d'autre part, à essayer que tu nous donnes quelques informations utiles.
ta première réponse à ma question "la réponse à votre question se trouve dans cette phrase" prouve bien que tu étais enfermé dans un raisonnement incorrect. ensuite, ma question t'a permis de sortir de cet enfermement.
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
>
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
Modifié le 27 sept. 2020 à 11:31
Modifié le 27 sept. 2020 à 11:31
il n'est pas nécessaire de partager le fichier avec toutes les données, tu peux partager un fichier de test qui nous permette de reproduire ton soucis.
EDIT: et, bien sûr, en expliquant comment le reproduire.
EDIT: et, bien sûr, en expliquant comment le reproduire.
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
13 sept. 2020 à 18:03
13 sept. 2020 à 18:03
Bonjour,
Personne n'a d'idée à me proposer ?
Merci
Personne n'a d'idée à me proposer ?
Merci