[Excel] extraction de données
Tibal
Messages postés
3
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis en train d'exploiter un tableau excel assez grand (environ 10000 lignes) et que je devrai faire souvent, il me faut donc automatiser mes extractions de données.
ce tableau provient d'un document pdf exporté en txt puis importé sous excel.
les données sont donc un peu dispersées.
Les données correspondent a des ingrédient introduits dans une pate.
Sur un ingrédient on peut avoir différents lots dans une meme pate
or la valeur qui m'intéresse est la somme sur tous les lots pour 1 pate. (sachant que j'ai un nombre inconnu de pate dans mon tableau et que le nombre de lot par pate est variable.)
Voila comment se présente ma colonne de valeur :
dsdv
dvd
vdv
21
54
564
24
45
214
cdcdscdc
dsfs
dsf
54
54
54
21
54
647
78
1323
.......................;;;
les caractères étant des chaines de texte placées un peu aléatoirement.
je voudrai sommer les nombres consécutifs et qu'il m'affiche dans une autre colonne la somme obtenue a chaque fois.
Si quelqu'un a des idées, sachant que je suis totalement novice en VBA.
Merci d'avance
ps 1 : la fonction NB() de Excel qui renvoie 1 si c'est un chiffre et 0 sinon pourrait etre utile
ps 2 : si c'est pas clair n'hésitez pas à demander des explications.
je suis en train d'exploiter un tableau excel assez grand (environ 10000 lignes) et que je devrai faire souvent, il me faut donc automatiser mes extractions de données.
ce tableau provient d'un document pdf exporté en txt puis importé sous excel.
les données sont donc un peu dispersées.
Les données correspondent a des ingrédient introduits dans une pate.
Sur un ingrédient on peut avoir différents lots dans une meme pate
or la valeur qui m'intéresse est la somme sur tous les lots pour 1 pate. (sachant que j'ai un nombre inconnu de pate dans mon tableau et que le nombre de lot par pate est variable.)
Voila comment se présente ma colonne de valeur :
dsdv
dvd
vdv
21
54
564
24
45
214
cdcdscdc
dsfs
dsf
54
54
54
21
54
647
78
1323
.......................;;;
les caractères étant des chaines de texte placées un peu aléatoirement.
je voudrai sommer les nombres consécutifs et qu'il m'affiche dans une autre colonne la somme obtenue a chaque fois.
Si quelqu'un a des idées, sachant que je suis totalement novice en VBA.
Merci d'avance
ps 1 : la fonction NB() de Excel qui renvoie 1 si c'est un chiffre et 0 sinon pourrait etre utile
ps 2 : si c'est pas clair n'hésitez pas à demander des explications.
A voir également:
- [Excel] extraction de données
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
6 réponses
bonjour
C'est sympa d'avoir un message comme çà !
Le plaisir est aussi pour moi d'avoir partagé avec toi.
à bientôt peut-être pour un nouvel échange.
C'est sympa d'avoir un message comme çà !
Le plaisir est aussi pour moi d'avoir partagé avec toi.
à bientôt peut-être pour un nouvel échange.
bonjour
est-ce ainsi que tu veux le résultat ?
j'ai mis "<=>" entre les colonnes pour visualiser.
dsdv <=> 0
1dvd <=> 0
<=> 0
<=> 0
vdv <=> 0
<=> 0
<=> 0
21 <=> 21
54 <=> 75
564 <=> 639
24 <=> 663
45 <=> 708
214 <=> 922
cdcdscdc <=> 922
<=> 922
<=> 922
dsfs <=> 922
<=> 922
<=> 922
dsf <=> 922
<=> 922
54 <=> 976
54 <=> 1030
54 <=> 1084
21 <=> 1105
54 <=> 1159
647 <=> 1806
78 <=> 1884
1323 <=> 3207
est-ce ainsi que tu veux le résultat ?
j'ai mis "<=>" entre les colonnes pour visualiser.
dsdv <=> 0
1dvd <=> 0
<=> 0
<=> 0
vdv <=> 0
<=> 0
<=> 0
21 <=> 21
54 <=> 75
564 <=> 639
24 <=> 663
45 <=> 708
214 <=> 922
cdcdscdc <=> 922
<=> 922
<=> 922
dsfs <=> 922
<=> 922
<=> 922
dsf <=> 922
<=> 922
54 <=> 976
54 <=> 1030
54 <=> 1084
21 <=> 1105
54 <=> 1159
647 <=> 1806
78 <=> 1884
1323 <=> 3207
bonjour
ou bien ceci :
dsdv <=> 0
1dvd <=> 0
<=> 0
<=> 0
vdv <=> 0
<=> 0
<=> 0
21 <=> 21
54 <=> 75
564 <=> 639
24 <=> 663
45 <=> 708
214 <=> 922
cdcdscdc <=> 0
<=> 0
<=> 0
dsfs <=> 0
<=> 0
<=> 0
dsf <=> 0
<=> 0
54 <=> 54
54 <=> 108
54 <=> 162
21 <=> 183
54 <=> 237
647 <=> 884
78 <=> 962
1323 <=> 2285
ou bien ceci :
dsdv <=> 0
1dvd <=> 0
<=> 0
<=> 0
vdv <=> 0
<=> 0
<=> 0
21 <=> 21
54 <=> 75
564 <=> 639
24 <=> 663
45 <=> 708
214 <=> 922
cdcdscdc <=> 0
<=> 0
<=> 0
dsfs <=> 0
<=> 0
<=> 0
dsf <=> 0
<=> 0
54 <=> 54
54 <=> 108
54 <=> 162
21 <=> 183
54 <=> 237
647 <=> 884
78 <=> 962
1323 <=> 2285
Bonjour
en fait c'est la deuxième proposition dont j'ai besoin, je saurai me débrouiller après je pense.
Sinon l'idéal serait de mettre des 0 partout sauf à la dernière somme de chaque série.
en fait c'est la deuxième proposition dont j'ai besoin, je saurai me débrouiller après je pense.
Sinon l'idéal serait de mettre des 0 partout sauf à la dernière somme de chaque série.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
voici le tableau avec la formule qui est à recopier sur toutes les lignes (Ctrl + B avec sélection colonne).
elle suppose qu'il y a une ligne titre et commence en ligne 2.
(désolé pour la présentation, mais la suppression des espaces est pénalisante.)
col A col B
_______ | _____ |
données | calcul | formule
dsdv | 0 | =SI(ESTERREUR(CNUM(A2));0;CNUM(A2)+B1)
dvd | 0 |
| 0 |
| 0 |
vdv | 0 |
| 0 |
| 0 |
21 | 21 |
54 | 75 |
564 | 639 |
24 | 663 |
45 | 708 |
214 | 922 |
cdcdscdc | 0 |
| 0 |
| 0 |
dsfs | 0 |
| 0 |
| 0 |
dsf | 0 |
| 0 |
54 | 54 |
54 | 108 |
54 | 162 |
21 | 183 |
54 | 237 |
647 | 884 |
78 | 962 |
1323 | 2285 |
Pour n'avoir que la dernière somme, il faut une troisième colonne
avec la formule en ligne 2 à recopier jusqu'en bas:
=SI(ESTERREUR(CNUM(A3));CNUM(B2);"")
bon courage si c'est ce que tu voulais.
voici le tableau avec la formule qui est à recopier sur toutes les lignes (Ctrl + B avec sélection colonne).
elle suppose qu'il y a une ligne titre et commence en ligne 2.
(désolé pour la présentation, mais la suppression des espaces est pénalisante.)
col A col B
_______ | _____ |
données | calcul | formule
dsdv | 0 | =SI(ESTERREUR(CNUM(A2));0;CNUM(A2)+B1)
dvd | 0 |
| 0 |
| 0 |
vdv | 0 |
| 0 |
| 0 |
21 | 21 |
54 | 75 |
564 | 639 |
24 | 663 |
45 | 708 |
214 | 922 |
cdcdscdc | 0 |
| 0 |
| 0 |
dsfs | 0 |
| 0 |
| 0 |
dsf | 0 |
| 0 |
54 | 54 |
54 | 108 |
54 | 162 |
21 | 183 |
54 | 237 |
647 | 884 |
78 | 962 |
1323 | 2285 |
Pour n'avoir que la dernière somme, il faut une troisième colonne
avec la formule en ligne 2 à recopier jusqu'en bas:
=SI(ESTERREUR(CNUM(A3));CNUM(B2);"")
bon courage si c'est ce que tu voulais.