Substituer

azaro

XLDnaute Nouveau
Bonjour,

svp je suis nouveau j aimerais bien que vous m aider ;

voila

je veux changer les chifre par d autre exemple ; le 1 PAR 20 LE 2 PAR 18

les chiffres de 1 A 20
1,2,3,4,15
1,2,3,5,10
1,2,3,6,8
1,2,3,7,12
1,2,3,9,14
1,2,3,11,13
1,2,4,5,11
1,2,4,6,13
1,2,4,7,14
1,2,4,8,9
1,2,4,10,12
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour azaro, bienvenue sur XLD,

Voyez le fichier joint et cette formule en B2 :
Code:
=STXT(SUBSTITUE(SUBSTITUE(","&A2&",";",1,";",20,");",2,";",18,");2;NBCAR(SUBSTITUE(SUBSTITUE(","&A2&",";",1,";",20,");",2,";",18,"))-2)
Par ailleurs le titre de votre discussion ne permettra pas de la retrouver via le moteur de recherche.

Remplacez ce titre par Substituer en éditant votre post #1.

A+
 

Pièces jointes

  • Substituer(1).xlsx
    15.2 KB · Affichages: 7

azaro

XLDnaute Nouveau
REBONJOUR MERCI POUR VOTRE RÉPONSE

VOILA

Original
1​
2​
3​
4​
5​
6​
7​
8​
Modifié
4​
6​
7​
20​
19​
18​
16​
2​
OriginalModifié
1,2,3,4,15?
1,2,3,5,10?
1,2,3,6,8?
1,2,3,7,12?
1,2,3,9,14?
1,2,3,11,13?
1,2,4,5,11?
1,2,4,6,13?
1,2,4,7,14??
1,2,4,8,9?
1,2,4,10,12?
 

job75

XLDnaute Barbatruc
Avec beaucoup de substitutions différentes le plus simple est d'utiliser cette macro (fichier joint) :
VB:
Sub Modifier()
Dim sep$, RemplacerPar, ncol%, tablo, i&, s, j%, k%
sep = "," 'séparateur modifiable
RemplacerPar = [A1].CurrentRegion.Resize(2) 'matrice, plus rapide
ncol = UBound(RemplacerPar, 2)
tablo = [A4].CurrentRegion.Resize(, 2) 'matrice, plus rapide
For i = 2 To UBound(tablo)
    s = Split(tablo(i, 1), sep)
    For j = 0 To UBound(s)
        For k = 2 To ncol
            If s(j) = CStr(RemplacerPar(1, k)) Then s(j) = RemplacerPar(2, k): Exit For
    Next k, j
    tablo(i, 2) = Join(s, sep)
Next
[A4].Resize(UBound(tablo), 2) = tablo 'restitution
End Sub
PS : sur un forum écrire en majuscules équivaut à HURLER !!!
 

Pièces jointes

  • Substituer VBA(1).xlsm
    22.8 KB · Affichages: 6

job75

XLDnaute Barbatruc
pour trier ou chercher dans les résultats un numéro ou deux exemple je cherche juste les ligne avec le 18 20
Voyez ce fichier (2) où j'ai ajouté ces 2 macros :
VB:
Sub Chercher()
Application.ScreenUpdating = False
RAZ
Modifier
ThisWorkbook.Names.Add "Sep", "," 'séparateur modifiable
With [A4].CurrentRegion
    .Columns(3) = ""
    .Columns(4).CurrentRegion.Name = "Cherche" 'plage nommée
    .Cells(2, 3) = "=SUMPRODUCT(N(ISNUMBER(FIND(Sep&Cherche&Sep,Sep&B5&Sep))))" 'critère
    .Resize(, 2).AdvancedFilter xlFilterInPlace, .Cells(1, 3).Resize(2) 'filtre avancé
    .Cells(2, 3) = ""
End With
End Sub

Sub RAZ()
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
End Sub
 

Pièces jointes

  • Substituer VBA(2).xlsm
    24.7 KB · Affichages: 4
Dernière édition:

Statistiques des forums

Discussions
312 172
Messages
2 085 936
Membres
103 051
dernier inscrit
briyan75