Extraction (encore) avec formule

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 !

mmalzert

XLDnaute Occasionnel
Bonjour le Forum,

Je reviens par ici pour que vous m'aidiez sur une macro que j'ai faite (à partir d'une de pierrejean).
Je pense qu'elle peut être grandement améliorée (la mienne j'entends).

Mon souci en l'état (la macro fonctionne) est que je souhaiterais lors de l'extraction transformer les données de la colonne D (Feuil1) par une formule et afficher le résultat directement dans la colonne F (Feuil2).
Celle-ci semble fonctionner.
Code:
=SUPPRESPACE(SI(GAUCHE(D18;3)="CBO";DROITE(D18;11);D18))

Je ne sais pas encore faire ça donc un coup de main serait très bienvenu.

Concernant la macro, je défini "n" la variable comme étant le point de départ de l'extraction. Mais c'est franchement pas terrible. Normalement, l'extraction de l'ERP a toujours cette forme mais je préfererais que ca commence à partir de "-------+" (A17)+ 1 (A18 du coup).

Merci pour votre aide.

Max
 

Pièces jointes

Re : Extraction (encore) avec formule

Bonjour, david84.
Je réup un fichier avec mon attendu sur le dernier onglet.

A noter que la formule citée plus haut ne fonctionne pas quand il y a des caractères du genre K1590, alors qu'il faudrait les prendre en plus des 11 caractères de droite.
 

Pièces jointes

Re : Extraction (encore) avec formule

Merci pour cette formule David qui fonctionne niquel.

Par contre, je voudrais l'intégrer au code pour que lorsque la macro effectue l'extraction vers la feuille 2, elle prenne en compte cette formule en l'appliquant sur la colonne D de la feuille 1 vers la colonne F de la feuille 2. Et là je coince. Je ne sais pas faire pour intégrer à mon code.
 
Re : Extraction (encore) avec formule

Salut mmalzert, david84, le Forum

dessous cette ligne de code

Code:
Sheets("Feuil2").Range("C" & x).FormulaLocal = "=RECHERCHEV(F" & x & ";Référence!D2:E2000;2;FAUX)"
Ajoute cette ligne qui est la Formule proposé par David en VBA

Code:
Sheets("Feuil2").Range("F" & x).FormulaLocal = "=SUPPRESPACE(SI(GAUCHE(Feuil1!D" & x + 16 & ";3)=""CBO"";STXT(Feuil1!D" & x + 16 & ";TROUVE(""CBO"";Feuil1!D" & x + 16 & ")+4;99);Feuil1!D" & x + 16 & "))"
et ça devrait pouvoir le faire

bonne journée
 

Pièces jointes

- 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

E
Réponses
8
Affichages
3 K
Retour