si le caractère n°x existe, alors le détruire

  • Initiateur de la discussion Initiateur de la discussion Hervé
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

Hervé

Guest
Salut à tous,

j'ai un problème de tri de données (encore, pour ceux qui m'ont deja vu, mais un autre)

je m'explique, j'aimerais que si il y a un caractère en position 9 et 10 des cellules de la 5e colonne, il soient effacés, ou mieux encore, remplacés par des espaces ' '

mon tableau comprend de nombreuses lignes (5000), je ne parviens pas à à y arriver avec des STXT

(une macro tourne déjà sur le tableau, dc si un code permet de le faire, je suis preneur aussi)

si qqun veut bien m'aider,

merci d'avance
 
Bonjour Abel et Hervé

Est-ce qu'un petite formule du type :

=SI(DROITE(GAUCHE(A1;10);2)<>'';GAUCHE(A1;8)&' '&DROITE(A1;NBCAR(A1)-10);'')
ne ferait-elle pas l'affaire ?
En A1 la donnée à éplucher ...

D'accord ce n'est pas du VBA...

@+ GD :evil:
 
Re, bonjour Gérard,

Hervé, est-ce quelque chose dans ce go&ucirc;t là ?

Je remplace la lettre 'u' en 7 ème position par 'oOo' (et p'is d'abord, pourquoi pas 'oOo', hein ?).

Abel. [file name=ExempleHerve.zip size=9200]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExempleHerve.zip[/file]
 

Pièces jointes

c'est exactement ce qu'il me faut,sauf que c'est pour les caractères 9 et 10 (changer un caractère pour un autre je sais faire, mais pour deux, j'y arrive pas), les caractères 9 et 10 peuvent varier, la condition c'est pas 'si il y a 'u', mais 'si il y a un caractère en position 9 et en position 10' vous voyez ce que je veux dire?

j'espere que je suis clair...
 
Re,

Euh ..., ça faisait longtemps que je n'étais pas aller faire un tour dans le Zop ...

Bon, c'est encore plus simple.

Dans mon exemple, je me contente de 'ratiboiser' les mots qui dépassent 8 caractères pour ne conserver que les 8 premiers et ajouter deux espaces.
Faut-il aussi ajouter des espaces à ce qui est inférieur à 8 pour les amener à 8 ?

Abel. [file name=ExempleHerve2.zip size=9773]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExempleHerve2.zip[/file]
 

Pièces jointes

Re,

Ca donnerait ça :

Code:
Sub Remplacement()
For Each c In Range(Range('e2'), Range('e65536').End(xlUp))
    If Len(c) > 8 Then
        c.Value = Left(c, 8) & '  '
    Else
        lg = 10 - Len(c)
        NewC = ''
        For i = 1 To lg
            NewC = NewC & Chr(32)
        Next i
        c.Value = Left(c, Len(c)) & NewC
    End If
Next c
End Sub

A voir sur un truc qui fait 5687 lignes.

Abel.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour