Autres Macro ou excel traitement de données

Vadim89

XLDnaute Nouveau
Bonsoir à toutes et à tous,

Je me permets de venir vers vous chère communauté dans l'espoir de trouver de l'aide pour le développement d'une macro ou trouver une formule qui me permettra de réaliser le besoin exprimé ci dessous et dans un fichier excel en pièce jointe. ( de préférence voir fichier excel c'est bien expliqué).

Le but c'est de remplir colonne F.
ça se fait par la conversion en suivant les règles définie ci-dessous, de la valeur de la cellule qui avant la dernière cellule non vide à droite
Donc il faut détecter cette dernière cellule à droite non Vide avant de commencer la conversion.
Exemple: pour la ligne 2 la valeur à transformer est 014_ASAAI-PA-140902
Si la dernière valeur non vide est dans la colonnes A alors : ne rien faire
la règle:
"QA""point""S""7iem carac""point""8 carac"point''014''point''à droite de l'under score

:
1035970



Je vous remercie d'avance et je compte énormément sur votre aide.

A bientôt.

Vadim.
 

Pièces jointes

  • Formule ou macro.xlsx
    11.1 KB · Affichages: 4

Xtian_Québec

XLDnaute Occasionnel
Salut Vadim
Le fichier joint devrait te donner une bonne piste si tu veux l'adapter. Il fait le travail pour le moment mais tu devras faire des ajustements au besoin.
Supprime les valeurs de la colonne F du fichier et ensuite EXÉCUTER
A+
Xtian_Quebec
 

Pièces jointes

  • Formule ou macro (1)-Convertir.xlsm
    19 KB · Affichages: 1

JHA

XLDnaute Barbatruc
Bonjour à tous,

Par formule, à essayer:
VB:
=SI(MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)))>2;"QA.S"&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)-1)));"_";".");7;1)&"."&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)-1)));"_";".");8;1)&SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)-1)));"_";".");SI(MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)))=2;"QA.S"&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2))));"_";".");7;1)&"."&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2))));"_";".");8;1)&SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2))));"_";".");SI(MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)))=1;"")))

JHA
 

Pièces jointes

  • Formule ou macro.xlsx
    12.5 KB · Affichages: 1

Vadim89

XLDnaute Nouveau
Bonjour à tous,

Par formule, à essayer:
VB:
=SI(MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)))>2;"QA.S"&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)-1)));"_";".");7;1)&"."&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)-1)));"_";".");8;1)&SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)-1)));"_";".");SI(MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)))=2;"QA.S"&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2))));"_";".");7;1)&"."&STXT(SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2))));"_";".");8;1)&SUBSTITUE(INDEX($A2:$D2;;MAX(SI($A2:$D2<>"";COLONNE($A2:$D2))));"_";".");SI(MAX(SI($A2:$D2<>"";COLONNE($A2:$D2)))=1;"")))

JHA


Merci beaucoup
 

Discussions similaires

Réponses
4
Affichages
186
Réponses
13
Affichages
339
Réponses
3
Affichages
274