XL 2016 Modifier une chaine complexe dans chaque cellule d'un tableau

Deliau

XLDnaute Nouveau
Bonjour,

Je dispose d'un tableau de plusieurs milliers de lignes et de dizaines de colonnes.
Dans certaines de ces cellules, je souhaite remplacer la chaine "aXb-cXd" par "aXb-c", ou a, b, c et d sont des nombres entiers < 1000 et X une seule lettre.
Le fait qu'il y ait deux fois la lettre X me bloque dans ma macro.

Comment enlever de chaque cellule la fin de la chaine "Xd", sachant que d'autres cellules n'ont pas ce format ? Je sèche ..

Merci,
Lucie
 

patricktoulon

XLDnaute Barbatruc
bon ben j'ai un whitescreen :p:p:p:p


oh non c'est largement plus rapide en bath en JS c'est plus rapide aussi même avec un regex
MAIS bon c'est rigolo et ça occupe
d'ailleurs je suis tenté de le faire en VBA dans un scriptcontrol en JS
mais ta version est largement a la hauteur des attentes du demandeur
la je m'amuse
étant un vbiste a la base je privilégie les outils que l'on avait en vb vbs a l’époque
c'est dommage que l'on ai pas de quantifieur avec like (a moins que je l'ignore) sinon 2 lignes de code et c'est bouclé
 

patricktoulon

XLDnaute Barbatruc
si je ne me trompe pas je shunte un test je remplace
ceci
VB:
For k = 1 To h
         c = Mid(t(i, j), k, 1): If Not c Like "#" Then Exit For Else q = q + 1
      Next k
      If q > 3 Or q = 0 Then GoTo Suivant
      If Not Mid(t(i, j), k, 1) Like "[A-Z]" Then GoTo Suivant
par

VB:
For k = 1 To h
      If Mid(t(i, j), k, 1) Like "[A-Z]" And Val(t(i, j)) < 1000 Then k = k - 1: exit for Else GoTo Suivant
     Next k
 

patricktoulon

XLDnaute Barbatruc
c'est puré ca fait un paquet d'année ca
mes premiers pas sur un pc c'est sur les MO5 et TO9+ de thomson je devais avoir 12/13 ans si je me souviens bien et je l'ai toujours mon 6128 je sais meme pas si il marcherait encore les composants ont du sécher
 

job75

XLDnaute Barbatruc
Bonjour à tous,

Puisque ce fil est interminable, fichier (2) avec la condition a b c d entiers de 1 2 ou 3 chiffres :
VB:
If Not (x Like "#" Or x Like "##" Or x Like "###") Then Exit For
Notez qu'avec le fichier (1) les coefficients c et d pouvaient être négatifs...

A+
 

Pièces jointes

  • Remplacer(2).xlsm
    550.2 KB · Affichages: 8

Discussions similaires

Statistiques des forums

Discussions
312 364
Messages
2 087 624
Membres
103 624
dernier inscrit
PhilduMorvan