Extraire chaine de caracteres dans UNE COLONNE NON FILTRÉE
Fermé
fredcanada
Messages postés
10
Date d'inscription
dimanche 15 septembre 2013
Statut
Membre
Dernière intervention
24 septembre 2013
-
15 sept. 2013 à 06:27
fredcanada Messages postés 10 Date d'inscription dimanche 15 septembre 2013 Statut Membre Dernière intervention 24 septembre 2013 - 15 sept. 2013 à 17:02
fredcanada Messages postés 10 Date d'inscription dimanche 15 septembre 2013 Statut Membre Dernière intervention 24 septembre 2013 - 15 sept. 2013 à 17:02
A voir également:
- Extraire chaine de caracteres dans UNE COLONNE NON FILTRÉE
- Extraire une video youtube - Guide
- Déplacer une colonne excel - Guide
- Caractères ascii - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
3 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié par Vaucluse le 15/09/2013 à 08:17
Modifié par Vaucluse le 15/09/2013 à 08:17
Bonjour
exemple pour créer une colonne Dir.de compte: (soit 12 caractères
avec un début de liste en A2
si vous avez l'intitulé en permanence au début et avec le même nombre de caractères:
=SI(NB.SI(A2:A2;"*Dir.de compte*");DROITE(A2;NBCAR(A2)-12);""=)
Pour la date de MAJ:
=SI(NB.SI(A2:A2;"*MAJ*");DROITE(A2;10)*1);"")
le *1 transforme la date texte en date num excel (formater cellule en format date)
Pour Octroi, idem avec "*Octroi*"
ect
Crdlmnt
Ps: en complèment, pour mettre les items en colonne sur la même ligne, à condition qu'il y ait bien toujours 4 lignes de données par personne:
Pour le nom en B2
=DROITE(RECHERCHEV("*Dir.de compte*";A2:A5;1;0);NBCAR(RECHERCHEV("*Dir.de compte*";A2:A5;1;0)-12))
Pour l'état en C2
=Pour le nom en B2
=DROITE(RECHERCHEV("*Etat:*";A2:A5;1;0);NBCAR(RECHERCHEV("*Dir.de compte*";A2:A5;1;0)-5))
ect en D2,E2)
Copier coller ces formules en ligne 6
sélectionnez B2:E9
tirez sur la hauteur voulue
Une fois toutes ces colonnes établies, vous pouvez faire un copier coller spécial valeur du champ rempli pour enlever les formules, supprimer la liste d'origine et trier pour supprimer les blancs
Errare humanum est, perseverare diabolicum
exemple pour créer une colonne Dir.de compte: (soit 12 caractères
avec un début de liste en A2
si vous avez l'intitulé en permanence au début et avec le même nombre de caractères:
=SI(NB.SI(A2:A2;"*Dir.de compte*");DROITE(A2;NBCAR(A2)-12);""=)
Pour la date de MAJ:
=SI(NB.SI(A2:A2;"*MAJ*");DROITE(A2;10)*1);"")
le *1 transforme la date texte en date num excel (formater cellule en format date)
Pour Octroi, idem avec "*Octroi*"
ect
Crdlmnt
Ps: en complèment, pour mettre les items en colonne sur la même ligne, à condition qu'il y ait bien toujours 4 lignes de données par personne:
Pour le nom en B2
=DROITE(RECHERCHEV("*Dir.de compte*";A2:A5;1;0);NBCAR(RECHERCHEV("*Dir.de compte*";A2:A5;1;0)-12))
Pour l'état en C2
=Pour le nom en B2
=DROITE(RECHERCHEV("*Etat:*";A2:A5;1;0);NBCAR(RECHERCHEV("*Dir.de compte*";A2:A5;1;0)-5))
ect en D2,E2)
Copier coller ces formules en ligne 6
sélectionnez B2:E9
tirez sur la hauteur voulue
Une fois toutes ces colonnes établies, vous pouvez faire un copier coller spécial valeur du champ rempli pour enlever les formules, supprimer la liste d'origine et trier pour supprimer les blancs
Errare humanum est, perseverare diabolicum
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 247
Modifié par eriiic le 15/09/2013 à 08:11
Modifié par eriiic le 15/09/2013 à 08:11
Bonjour à tous,
une fonction personnalisée.
Apparemment tu as toujours 2 données par ligne.
Cette fonction te ramène la donnée 1 ou la donnée 2 de la ligne. Si tu demandes un rang >2 elle ira la chercher sur les lignes suivantes.
Exemple :
=donnée(A2;5) te ramènera l'état.
Si c'est préférable de citer l'intitulé de la donnée voulue (ex: =donnée(A2;"Etat:") car ce n'est pas toujours 2 lignes plus bas et que tu veux une évolution, le demander et donner le nombre de lignes maxi où chercher la donnée.
Mettre les cellules au format date.
https://www.cjoint.com/?CIpikXqWXcX
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
une fonction personnalisée.
Apparemment tu as toujours 2 données par ligne.
Cette fonction te ramène la donnée 1 ou la donnée 2 de la ligne. Si tu demandes un rang >2 elle ira la chercher sur les lignes suivantes.
Exemple :
=donnée(A2;5) te ramènera l'état.
Si c'est préférable de citer l'intitulé de la donnée voulue (ex: =donnée(A2;"Etat:") car ce n'est pas toujours 2 lignes plus bas et que tu veux une évolution, le demander et donner le nombre de lignes maxi où chercher la donnée.
Mettre les cellules au format date.
https://www.cjoint.com/?CIpikXqWXcX
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
fredcanada
Messages postés
10
Date d'inscription
dimanche 15 septembre 2013
Statut
Membre
Dernière intervention
24 septembre 2013
15 sept. 2013 à 17:02
15 sept. 2013 à 17:02
Merci énormément ....
Si j'abuse pas, j'ai encore une grosse incompréhension pour batire mes formules... sans passer par VBA.
EX: en A1
1 Produits alpha ( je connais cette chaîne de caractères )
2 SA CARACTERISTIQUE 1
3 SA CARACTERISTIQUE 2
4 Produits beta ( je connais cette chaîne de caractères )
5 SA CARACTERISTIQUE 1
6 Compte xxxx ( je connais cette chaîne de caractères )
7 SA CARACTERISTIQUE 1
... je peux en avoir des milliers de lignes comme ça.
Ce que je cherche c'est extraire en A2
1 Produits beta
2 SA CARACTERISTIQUE 1
Donc identifier quelque part dans ma colonne ma chaîne de caractères Produits alpha, extraire la ligne + toutes les lignes en dessous et lui dire d'arrêter d'extraire quand il rencontre une autre chaîne que je lui indique...
J'ai conscience que c'est idéal avec VBA, mais je ne peux pas utiliser de macro pour mon travail... faut vraiment que je passe par EXCEL.
Merci beaucoup de votre aide :)
Si j'abuse pas, j'ai encore une grosse incompréhension pour batire mes formules... sans passer par VBA.
EX: en A1
1 Produits alpha ( je connais cette chaîne de caractères )
2 SA CARACTERISTIQUE 1
3 SA CARACTERISTIQUE 2
4 Produits beta ( je connais cette chaîne de caractères )
5 SA CARACTERISTIQUE 1
6 Compte xxxx ( je connais cette chaîne de caractères )
7 SA CARACTERISTIQUE 1
... je peux en avoir des milliers de lignes comme ça.
Ce que je cherche c'est extraire en A2
1 Produits beta
2 SA CARACTERISTIQUE 1
Donc identifier quelque part dans ma colonne ma chaîne de caractères Produits alpha, extraire la ligne + toutes les lignes en dessous et lui dire d'arrêter d'extraire quand il rencontre une autre chaîne que je lui indique...
J'ai conscience que c'est idéal avec VBA, mais je ne peux pas utiliser de macro pour mon travail... faut vraiment que je passe par EXCEL.
Merci beaucoup de votre aide :)