Bonjour
Dans un fichier excel 2003 de 36000 lignes, j'ai ce genre de
variations de donn=E9es :
\ ACON_2E7326_1941/ |navimages:series| \
\ ACON_2E7326_1942/ |navimages:series| \
\ 8MI0007/ |navimages:series| \
\ ACON_2E7323_1903_1912_TD/ |navimages:series| \
\ ACON_2E7324_1913_1922_TD/ |navimages:series| \
\ ACON_2E7325_1923_1932_TD/ |navimages:series| \
Je souhaite, si et seulement si "TD" est pr=E9sent, supprimer les ann=E9es
devant TD mais pas TD...
Pour obtenir par exemple \ ACON_2E7323_TD/ |navimages:series| \
Une formule ?
Merci
Merci Mais cela ne fonctionne que sur "ACON", mais pour des noms plus longs comme SAINTE_COLOMBE_LA_COMMANDERIE_2E8574_1903_1912_TD/ | navimages:series| cela ne va pas...
Merci
Mais cela ne fonctionne que sur "ACON", mais pour des noms plus longs
comme
SAINTE_COLOMBE_LA_COMMANDERIE_2E8574_1903_1912_TD/ |
navimages:series|
cela ne va pas...
Merci Mais cela ne fonctionne que sur "ACON", mais pour des noms plus longs comme SAINTE_COLOMBE_LA_COMMANDERIE_2E8574_1903_1912_TD/ | navimages:series| cela ne va pas...
MichD
Bonjour,
En supposant que la chaîne de caractère soit en A1, en B2 tu écris la formule suivante : =SpOte(A1)
Dans un module standard de ton classeur, copie la fonction personnalisée suivante :
'--------------------------- Function SpOte(Rg As Range) As String Dim W As String, X As Integer W = "_TD/"
X = InStr(1, Rg, "_TD/", vbTextCompare) If X > 0 Then SpOte = Left(Rg, X - 11) & W End If End Function '---------------------------
MichD ------------------------------------------ "jip" a écrit dans le message de groupe de discussion :
Bonjour Dans un fichier excel 2003 de 36000 lignes, j'ai ce genre de variations de données : ACON_2E7326_1941/ |navimages:series| ACON_2E7326_1942/ |navimages:series| 8MI0007/ |navimages:series| ACON_2E7323_1903_1912_TD/ |navimages:series| ACON_2E7324_1913_1922_TD/ |navimages:series| ACON_2E7325_1923_1932_TD/ |navimages:series|
Je souhaite, si et seulement si "TD" est présent, supprimer les années devant TD mais pas TD... Pour obtenir par exemple ACON_2E7323_TD/ |navimages:series| Une formule ? Merci
Bonjour,
En supposant que la chaîne de caractère soit en A1, en B2 tu écris la formule suivante : =SpOte(A1)
Dans un module standard de ton classeur, copie la fonction personnalisée suivante :
'---------------------------
Function SpOte(Rg As Range) As String
Dim W As String, X As Integer
W = "_TD/"
X = InStr(1, Rg, "_TD/", vbTextCompare)
If X > 0 Then
SpOte = Left(Rg, X - 11) & W
End If
End Function
'---------------------------
MichD
------------------------------------------
"jip" a écrit dans le message de groupe de discussion : a6528d8a-35cb-454a-a704-9e9e4513ce49@w23g2000vbx.googlegroups.com...
Bonjour
Dans un fichier excel 2003 de 36000 lignes, j'ai ce genre de
variations de données :
ACON_2E7326_1941/ |navimages:series|
ACON_2E7326_1942/ |navimages:series|
8MI0007/ |navimages:series|
ACON_2E7323_1903_1912_TD/ |navimages:series|
ACON_2E7324_1913_1922_TD/ |navimages:series|
ACON_2E7325_1923_1932_TD/ |navimages:series|
Je souhaite, si et seulement si "TD" est présent, supprimer les années
devant TD mais pas TD...
Pour obtenir par exemple ACON_2E7323_TD/ |navimages:series|
Une formule ?
Merci
En supposant que la chaîne de caractère soit en A1, en B2 tu écris la formule suivante : =SpOte(A1)
Dans un module standard de ton classeur, copie la fonction personnalisée suivante :
'--------------------------- Function SpOte(Rg As Range) As String Dim W As String, X As Integer W = "_TD/"
X = InStr(1, Rg, "_TD/", vbTextCompare) If X > 0 Then SpOte = Left(Rg, X - 11) & W End If End Function '---------------------------
MichD ------------------------------------------ "jip" a écrit dans le message de groupe de discussion :
Bonjour Dans un fichier excel 2003 de 36000 lignes, j'ai ce genre de variations de données : ACON_2E7326_1941/ |navimages:series| ACON_2E7326_1942/ |navimages:series| 8MI0007/ |navimages:series| ACON_2E7323_1903_1912_TD/ |navimages:series| ACON_2E7324_1913_1922_TD/ |navimages:series| ACON_2E7325_1923_1932_TD/ |navimages:series|
Je souhaite, si et seulement si "TD" est présent, supprimer les années devant TD mais pas TD... Pour obtenir par exemple ACON_2E7323_TD/ |navimages:series| Une formule ? Merci
Jacky
Bonsoir,
=SI(ESTERREUR(TROUVE("_TD/";A1));"";GAUCHE(A1;TROUVE("_TD/";A1)-11)&STXT(A1;TROUVE("_TD/";A1);NBCAR(A1))) Ou si l'on veut garder la valeur de la cellule si TD n'est pas présent =SI(ESTERREUR(TROUVE("_TD/";A1));A1;GAUCHE(A1;TROUVE("_TD/";A1)-11)&STXT(A1;TROUVE("_TD/";A1);NBCAR(A1))) -- Salutations JJ
"jip" a écrit dans le message de news:
Bonjour Dans un fichier excel 2003 de 36000 lignes, j'ai ce genre de variations de données : ACON_2E7326_1941/ |navimages:series| ACON_2E7326_1942/ |navimages:series| 8MI0007/ |navimages:series| ACON_2E7323_1903_1912_TD/ |navimages:series| ACON_2E7324_1913_1922_TD/ |navimages:series| ACON_2E7325_1923_1932_TD/ |navimages:series|
Je souhaite, si et seulement si "TD" est présent, supprimer les années devant TD mais pas TD... Pour obtenir par exemple ACON_2E7323_TD/ |navimages:series| Une formule ? Merci
Bonsoir,
=SI(ESTERREUR(TROUVE("_TD/";A1));"";GAUCHE(A1;TROUVE("_TD/";A1)-11)&STXT(A1;TROUVE("_TD/";A1);NBCAR(A1)))
Ou si l'on veut garder la valeur de la cellule si TD n'est pas présent
=SI(ESTERREUR(TROUVE("_TD/";A1));A1;GAUCHE(A1;TROUVE("_TD/";A1)-11)&STXT(A1;TROUVE("_TD/";A1);NBCAR(A1)))
--
Salutations
JJ
"jip" <jipeache@gmail.com> a écrit dans le message de news:
a6528d8a-35cb-454a-a704-9e9e4513ce49@w23g2000vbx.googlegroups.com...
Bonjour
Dans un fichier excel 2003 de 36000 lignes, j'ai ce genre de
variations de données :
ACON_2E7326_1941/ |navimages:series|
ACON_2E7326_1942/ |navimages:series|
8MI0007/ |navimages:series|
ACON_2E7323_1903_1912_TD/ |navimages:series|
ACON_2E7324_1913_1922_TD/ |navimages:series|
ACON_2E7325_1923_1932_TD/ |navimages:series|
Je souhaite, si et seulement si "TD" est présent, supprimer les années
devant TD mais pas TD...
Pour obtenir par exemple ACON_2E7323_TD/ |navimages:series|
Une formule ?
Merci
=SI(ESTERREUR(TROUVE("_TD/";A1));"";GAUCHE(A1;TROUVE("_TD/";A1)-11)&STXT(A1;TROUVE("_TD/";A1);NBCAR(A1))) Ou si l'on veut garder la valeur de la cellule si TD n'est pas présent =SI(ESTERREUR(TROUVE("_TD/";A1));A1;GAUCHE(A1;TROUVE("_TD/";A1)-11)&STXT(A1;TROUVE("_TD/";A1);NBCAR(A1))) -- Salutations JJ
"jip" a écrit dans le message de news:
Bonjour Dans un fichier excel 2003 de 36000 lignes, j'ai ce genre de variations de données : ACON_2E7326_1941/ |navimages:series| ACON_2E7326_1942/ |navimages:series| 8MI0007/ |navimages:series| ACON_2E7323_1903_1912_TD/ |navimages:series| ACON_2E7324_1913_1922_TD/ |navimages:series| ACON_2E7325_1923_1932_TD/ |navimages:series|
Je souhaite, si et seulement si "TD" est présent, supprimer les années devant TD mais pas TD... Pour obtenir par exemple ACON_2E7323_TD/ |navimages:series| Une formule ? Merci
isabelle
oups désolé j'avais oublié de soustraire le nombre de caractères total,
La fonction personnalisée devrait plutôt être ceci pour tenir compte des différents exemples que tu as donnés
'-------------------------------- Function SpOte(Rg As Range) As String Dim W As String, X As Integer W = "_TD/" X = InStr(1, Rg, "_TD/", vbTextCompare) If X > 0 Then SpOte = Left(Rg, X - 11) & Right(Rg, Len(Rg) - X + 1) End If End Function '--------------------------------
La fonction personnalisée devrait plutôt être ceci pour tenir compte des différents exemples que tu as donnés
'--------------------------------
Function SpOte(Rg As Range) As String
Dim W As String, X As Integer
W = "_TD/"
X = InStr(1, Rg, "_TD/", vbTextCompare)
If X > 0 Then
SpOte = Left(Rg, X - 11) & Right(Rg, Len(Rg) - X + 1)
End If
End Function
'--------------------------------
La fonction personnalisée devrait plutôt être ceci pour tenir compte des différents exemples que tu as donnés
'-------------------------------- Function SpOte(Rg As Range) As String Dim W As String, X As Integer W = "_TD/" X = InStr(1, Rg, "_TD/", vbTextCompare) If X > 0 Then SpOte = Left(Rg, X - 11) & Right(Rg, Len(Rg) - X + 1) End If End Function '--------------------------------
MichD ------------------------------------------
jip
On 19 oct, 18:39, "Jacky" wrote:
Bonsoir,
=SI(ESTERREUR(TROUVE("_TD/";A1));"";GAUCHE(A1;TROUVE("_TD/";A1)-11)&STX T(A1;TROUVE("_TD/";A1);NBCAR(A1))) Ou si l'on veut garder la valeur de la cellule si TD n'est pas présent =SI(ESTERREUR(TROUVE("_TD/";A1));A1;GAUCHE(A1;TROUVE("_TD/";A1)-11)&STX T(A1;TROUVE("_TD/";A1);NBCAR(A1))) -- Salutations JJ
Merci beaucoup, la formule 2 fonctionne très bien.
On 19 oct, 18:39, "Jacky" <Dup...@marcel.fr> wrote:
Bonsoir,
=SI(ESTERREUR(TROUVE("_TD/";A1));"";GAUCHE(A1;TROUVE("_TD/";A1)-11)&STX T(A1;TROUVE("_TD/";A1);NBCAR(A1)))
Ou si l'on veut garder la valeur de la cellule si TD n'est pas présent
=SI(ESTERREUR(TROUVE("_TD/";A1));A1;GAUCHE(A1;TROUVE("_TD/";A1)-11)&STX T(A1;TROUVE("_TD/";A1);NBCAR(A1)))
--
Salutations
JJ
Merci beaucoup, la formule 2 fonctionne très bien.
=SI(ESTERREUR(TROUVE("_TD/";A1));"";GAUCHE(A1;TROUVE("_TD/";A1)-11)&STX T(A1;TROUVE("_TD/";A1);NBCAR(A1))) Ou si l'on veut garder la valeur de la cellule si TD n'est pas présent =SI(ESTERREUR(TROUVE("_TD/";A1));A1;GAUCHE(A1;TROUVE("_TD/";A1)-11)&STX T(A1;TROUVE("_TD/";A1);NBCAR(A1))) -- Salutations JJ
Merci beaucoup, la formule 2 fonctionne très bien.