Combinaison de plusieurs formules

Bonjour à toutes et à tous !

Alors voilà, j'ai réussi grâce à plusieurs aides et beaucoup de Google à finaliser ce que je voulais faire. Mais mon problème est que je l'ai fait en plusieurs fois sur plusieurs cellules donc pas glop pour automatiser après et surtout rendre le traitement moins lourd. Je vous mets le fichier en PJ, cela va être compliqué de l'expliquer avec des mots mais concrètement voilà où j'en suis :

Cellule H1 : Récupérer la première ligne de la cellule D1 (cette cellule peut contenir plusieurs lignes)

Cellule I1 : Supprimer les mots "Reassignment from" de la cellule H1

Cellule J1 : Supprimer les espaces de la cellules I1

Cellule K1 : Remplacer "to" par un espace

Cellules L1 et M1 : Conversion des données selon l'espace afin de scinder les valeurs sur deux cellules différentes.

Ce que je voudrais en fait, c'est combiner la succession de toutes ces opérations en une seule formule (ou via une Macro) pour industrialiser et pouvoir lancer un traitement sur un fichier final de plusieurs milliers de lignes.

N'hésitez pas à me difre si ce n'est pas suffisamment clair )

Merci beaucoup pour votre aide !

47xlsforum.xlsx (9.53 Ko)

Bonjour,

Tu as manifestement compris le principe ...

Pour ta "grande" formule, il te suffit à chacune de tes étapes de remplacer la cellule par la formule contenue dans la cellule précédente

bonjour,

Compléter ton exemple avec une cellule D1 comportant au moins 2 ou 3 lignes ( prendre un exemple réel et non simplifié SVP )

A+

Bonjour

Il faut au moins 2 formules pour obtenir les 2 parties :

=GAUCHE(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";"");CHERCHE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))-1)
=STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";"");CHERCHE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))+1;SIERREUR(CHERCHE(CAR(10);SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))-1;NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))))

Bonjour,

Merci à vous tous de m'aider dans ma tâche

@James007 : Je suis en train de tester ton idée, je te tiens au courant.

@Galopin01 : J'ajoute en PJ le fichier avec la cellule D1 originale.

@78chris : La première formule fonctionne nickel mais pour la deuxième, lorsque j'ajoute plusieurs lignes à la cellule D1, il prend en compte le reste des lignes (fichier en PJ).

PJ : XLSForum V01.xls

Merci encore !

20xlsforum-v01.xlsx (10.07 Ko)
78chris a écrit :

Bonjour

Il faut au moins 2 formules pour obtenir les 2 parties :

=GAUCHE(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";"");CHERCHE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))-1)
=STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";"");CHERCHE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))+1;SIERREUR(CHERCHE(CAR(10);SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))-1;NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))))

Wais fastoche quoi

Pffff

bravo pour la patience !!!

RE

Armandra a écrit :

...@78chris : La première formule fonctionne nickel mais pour la deuxième, lorsque j'ajoute plusieurs lignes à la cellule D1, il prend en compte le reste des lignes (fichier en PJ)

oups j'ai oublié de déduire la longueur du 1er morceau

=STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";"");CHERCHE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))+1;SIERREUR(CHERCHE(CAR(10);SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))-1-NBCAR(H1);NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))))
78chris a écrit :

RE

Armandra a écrit :

...@78chris : La première formule fonctionne nickel mais pour la deuxième, lorsque j'ajoute plusieurs lignes à la cellule D1, il prend en compte le reste des lignes (fichier en PJ)

oups j'ai oublié de déduire la longueur du 1er morceau

=STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";"");CHERCHE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))+1;SIERREUR(CHERCHE(CAR(10);SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))-1-NBCAR(H1);NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))))

Ca marche du tonnerre !!!!!

Merci beaucoup Chris, tu viens de me faire gagner beaucoup de temps !!!!

Bonne journée !

Bravo Chris ...

Re à tous

Plus court pour la seconde

=STXT(SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";"");CHERCHE("µ";SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))+1;SIERREUR(CHERCHE(CAR(10);SUBSTITUE(SUBSTITUE(SUBSTITUE(D1;"Reassignment from ";"");"to";"µ");" ";""))-1-NBCAR(H1);100))

Re Chris,

Que du bonheur, merci encore !

Bonjour,

La macro correspondante :

Sub galopin()
Dim S$, i%, iR%, a, o As Range
For Each o In Selection
iR = o.Row
S = Replace(ActiveCell, "Reassignment from", "")
S = Replace(S, " ", "")
S = Replace(S, "to", " ")
i = InStr(S, Chr(10))
If i > 0 Then
a = Split(Replace(S, Mid(S, i), ""))
Else
a = Split(S)
End If
Cells(iR, 12) = a(0)
Cells(iR, 13) = a(1)
Next
End Sub

A+

Rechercher des sujets similaires à "combinaison formules"