extraire une formule

  • Initiateur de la discussion Initiateur de la discussion Xxaann
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Xxaann

XLDnaute Occasionnel
Bonjour,

Dans une cellule j'ai '=(32+15)*37
En fait, c'est un fichier de commandes, 32 et 15 correspondent à deux cdes différentes pour un même client.
Je souhaiterai extraire c'est deux données, pour ensuite faire deux lignes distinctes.

Merci
 
Re : extraire une formule

Bonjour,

Avec des formules personnalisées :
Pour récupérer la première partie de l'addition
Code:
Function AjoutéÀ(ByVal R As Range) As String
On Error Resume Next
AjoutéÀ = Split(Split(R.Formula, "+")(0), "=(")(1)
If Err Then AjoutéÀ = ""
End Function
et pour récupérer la seconde partie de l'addition et a mettre dans la formule :
=SUBSTITUE(AjoutéB(D3);GAUCHE(AjoutéB(D3);3);"";1)

Function AjoutéB(ByVal R As Range) As String
On Error Resume Next
AjoutéB = Split(Split(R.Formula, ")*")(0), "=(")(1)
If Err Then AjoutéB = ""
End Function
 

Pièces jointes

Re : extraire une formule

Jiai modifié la macro de ajoutéB comme ceci:

Function AjoutéB(ByVal R As Range) As String
On Error Resume Next
AjoutéB = Split(Split(R.Formula, ")*")(0), "+")(1)
If Err Then AjoutéB = ""
End Function

Maintenant ca fonctionne très bien.

Grand merci, mais j'essai avec =trouve(AjoutéB;"+")
 
Re : extraire une formule

re,

Dans ce cas, tu peux faire un copier/coller de ta colonne dans une colonne adjacente et ensuite tu selectionnes tes donnees, tu fais Remplacer et tu remplaces le = par '= et tu fais remplacer tout. tu auras alors la formule sous format texte et tu appliques ensuite les 2 formules de mon post précedent.
 
Re : extraire une formule

Bonjour,

Juste avec une seule fonction personnalisée qui traite l'ensemble des cas :
Function Isoler(ByVal Cellule As Range, Caractère_avant, Caractère_après As String)
On Error Resume Next
Isoler = Split(Split(Cellule.Formula, Caractère_après)(0), Caractère_avant)(1)
If Err Then Isoler = ""
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
261
Réponses
7
Affichages
253
Réponses
23
Affichages
469
Réponses
5
Affichages
455
Retour