Remplacer sous conditions certains chiffres (avec ou sans VBA)
5 réponses
Pat rednef
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J’ai dans la colonne A des références produits au format personnalisé
0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas
commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la
validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les
9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9
qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5
et cela serait catastrophique ! comment limiter cette transformation à la
colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms
de rubrique qui pourraient contenir un 9 mais ces cellules sont au format
texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d’avance pour votre aide précieuse,
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Bonjour Pat,
Adapte le nom de la feuille et la plage de cellule. Cette procédure suppose '--------------------------- Sub Remplacer9() Dim A As Integer With Worksheets("Feuil1") For Each c In .Range("A1:A5") If Len(c) = 10 Then A = 8 Else A = 7 End If If Mid(c, A, 1) = 9 Then c.Value = Left(c, A - 1) & "5" & Right(c, 2) End If Next End With End Sub '---------------------------
Salutations!
"Pat rednef" a écrit dans le message de news:
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bien à vous tous,
Pat
Bonjour Pat,
Adapte le nom de la feuille et la plage de cellule.
Cette procédure suppose
'---------------------------
Sub Remplacer9()
Dim A As Integer
With Worksheets("Feuil1")
For Each c In .Range("A1:A5")
If Len(c) = 10 Then
A = 8
Else
A = 7
End If
If Mid(c, A, 1) = 9 Then
c.Value = Left(c, A - 1) & "5" & Right(c, 2)
End If
Next
End With
End Sub
'---------------------------
Salutations!
"Pat rednef" <Patrednef@discussions.microsoft.com> a écrit dans le message de news:
101BD870-BC6F-40DD-B778-4B81338E2978@microsoft.com...
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé
0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas
commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la
validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les
9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9
qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5
et cela serait catastrophique ! comment limiter cette transformation à la
colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms
de rubrique qui pourraient contenir un 9 mais ces cellules sont au format
texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Adapte le nom de la feuille et la plage de cellule. Cette procédure suppose '--------------------------- Sub Remplacer9() Dim A As Integer With Worksheets("Feuil1") For Each c In .Range("A1:A5") If Len(c) = 10 Then A = 8 Else A = 7 End If If Mid(c, A, 1) = 9 Then c.Value = Left(c, A - 1) & "5" & Right(c, 2) End If Next End With End Sub '---------------------------
Salutations!
"Pat rednef" a écrit dans le message de news:
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bien à vous tous,
Pat
ru-th
Salut
a priori =STXT(A1;1;9)&SUBSTITUE(STXT(A1;10;1);"9";"5")&DROITE(A1;2) puis copie collage special valeur a+ rural thierry Veaux et Broutards d'Anjou Wicasa on kin nape yapi inahni yo (à l'essai)
"Pat rednef" a écrit dans le message de news:
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bien à vous tous,
Pat
Salut
a priori
=STXT(A1;1;9)&SUBSTITUE(STXT(A1;10;1);"9";"5")&DROITE(A1;2)
puis copie collage special valeur
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)
"Pat rednef" <Patrednef@discussions.microsoft.com> a écrit dans le message
de news: 101BD870-BC6F-40DD-B778-4B81338E2978@microsoft.com...
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé
0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne
pas
commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la
validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer
les
9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les
9
qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5
et cela serait catastrophique ! comment limiter cette transformation à la
colonne A, aux cellules qui ont le format spécifié car il y a aussi des
noms
de rubrique qui pourraient contenir un 9 mais ces cellules sont au format
texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
a priori =STXT(A1;1;9)&SUBSTITUE(STXT(A1;10;1);"9";"5")&DROITE(A1;2) puis copie collage special valeur a+ rural thierry Veaux et Broutards d'Anjou Wicasa on kin nape yapi inahni yo (à l'essai)
"Pat rednef" a écrit dans le message de news:
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bien à vous tous,
Pat
Alain CROS
Bonjour.
Peut être, en B1 si la liste commence en A1: =SI(ET(CELLULE("format";A1)="P0";NBCAR(A1));SI(STXT(A1;10;1)="9";STXT(A1;1;9)&"5"& STXT(A1;11;2);A1);A1) Puis tirer vers le bas.
Alain CROS
"Pat rednef" a écrit dans le message de news:
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bien à vous tous,
Pat
Bonjour.
Peut être, en B1 si la liste commence en A1:
=SI(ET(CELLULE("format";A1)="P0";NBCAR(A1));SI(STXT(A1;10;1)="9";STXT(A1;1;9)&"5"& STXT(A1;11;2);A1);A1)
Puis tirer vers le bas.
Alain CROS
"Pat rednef" <Patrednef@discussions.microsoft.com> a écrit dans le message de news:
101BD870-BC6F-40DD-B778-4B81338E2978@microsoft.com...
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé
0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas
commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la
validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les
9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9
qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5
et cela serait catastrophique ! comment limiter cette transformation à la
colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms
de rubrique qui pourraient contenir un 9 mais ces cellules sont au format
texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Peut être, en B1 si la liste commence en A1: =SI(ET(CELLULE("format";A1)="P0";NBCAR(A1));SI(STXT(A1;10;1)="9";STXT(A1;1;9)&"5"& STXT(A1;11;2);A1);A1) Puis tirer vers le bas.
Alain CROS
"Pat rednef" a écrit dans le message de news:
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
"Pat rednef" <Patrednef@discussions.microsoft.com> a écrit dans le message
de news: 101BD870-BC6F-40DD-B778-4B81338E2978@microsoft.com...
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé
0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne
pas
commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la
validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer
les
9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les
9
qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5
et cela serait catastrophique ! comment limiter cette transformation à la
colonne A, aux cellules qui ont le format spécifié car il y a aussi des
noms
de rubrique qui pourraient contenir un 9 mais ces cellules sont au format
texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bien à vous tous,
Pat
Pat rednef
Merci à vous tous,
plusieurs façons, plusieurs réponses et cela marche,
Celle en VBA est particulièrement fiable et ne fait faire qu'une manip,
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bien à vous tous,
Pat
Merci à vous tous,
plusieurs façons, plusieurs réponses et cela marche,
Celle en VBA est particulièrement fiable et ne fait faire qu'une manip,
"Pat rednef" <Patrednef@discussions.microsoft.com> a écrit dans le message
de news: 101BD870-BC6F-40DD-B778-4B81338E2978@microsoft.com...
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé
0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne
pas
commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la
validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer
les
9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les
9
qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5
et cela serait catastrophique ! comment limiter cette transformation à la
colonne A, aux cellules qui ont le format spécifié car il y a aussi des
noms
de rubrique qui pourraient contenir un 9 mais ces cellules sont au format
texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,
Bonjour aux Excellents contributeurs de ce formidable forum !
Un lourd problème se présente à moi :
J'ai dans la colonne A des références produits au format personnalisé 0##-####-### qui peuvent donc être comme cela : 010-2900-927 ou encore ne pas commencer par un zéro comme cela 927-4602-901.
Je tape ces codes sans mise en forme, le format le faisant au moment de la validation.
MAIS je souhaite trouver une formule (avec VBA ou non) pour transformer les 9 en 5, jusque là rien de sorcier SAUF que je souhaite ne modifier que les 9 qui se trouvent en position du 8eme caractère dans ma chaîne :
Car dans la fonction remplace les autres 9 seront aussi remplacer par un 5 et cela serait catastrophique ! comment limiter cette transformation à la colonne A, aux cellules qui ont le format spécifié car il y a aussi des noms de rubrique qui pourraient contenir un 9 mais ces cellules sont au format texte, et surtout au premier caractères des 3 derniers ?
Je vous remercie d'avance pour votre aide précieuse,