suppression de mots ou d'espaces dans une cellule

  • Initiateur de la discussion Jean-Luc
  • Date de début
J

Jean-Luc

Guest
Bonjour,

Pourriez vous m'indiquez la procédure à suivre pour ceci ? :

J'importe l'historique des opérations banquaires depuis le site web de la banque. Le fichier fourni par la banque est en *.csv
Sous excel, le fichier est converti en cellule sur base des ';'
Mais je ne sais pour quelles raisons, la cellule communication se retrouve avec des espaces inutiles.
Exemple : 'Versement de 1 eu ro de dupont communication : remboursement date valeur : 1-1-01 '
Ensuite, vu qu'il y a déjà une cellule avec la date valeur de la transaction, le texte avec la 'Date Valeur 1-1-01' n'a plus de raison d'être.
Actuellement, je passe mon temps à nettoyer les blancs cellule par cellule ainsi qu'a supprimer les 'Date Valeur 1-1-01'.
Y a t il moyen de réaliser celà d'une manière plus automatisée ?

Merci pour vos réflexions

JL
 

porcinet82

XLDnaute Barbatruc
Salut Jean-Luc,

je ne vois pas a quel endroit tu a des blancs. sinon en ce qui concerne les 'Date Valeur 1-1-01', tu les suppriment dans la cellule ou se trouve 'Versement de 1 eu ro de dupont communication :
remboursement date valeur : 1-1-01 '?

attache un exemple de fichier se sera plus simple

a+
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Jean Luc, P-82, le Forum

Voici un code VBA qui devrait déjà te faire avancer...

Option Explicit
Option Compare Text

Const TheStringToSuppress As String = 'Date Valeur'

Sub TrimTrim()
Dim Cell As Range

   
For Each Cell In ActiveSheet.UsedRange
       
If InStr(Cell.Text, TheStringToSuppress) <> 0 Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Cell = Left(Cell, InStr(Cell.Text, TheStringToSuppress) - 1)
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp; Cell = Trim(Cell)
&nbsp; &nbsp;
Next
End Sub


Ce code va supprimer tous les espaces AVANT et APRES ta chaine de caractères dans chaque cellule... Et si il trouve la Chaine 'Date Valeur' il supprimera tout ce qui se trouve à partir de cette chaine dans la même cellule...

Maintenant comme te le dit notre ami, il serait souhaitable de voir mieux la structure de ton fichier...

Bon Aprèm
@+Thierry

Message édité par: _Thierry, à: 31/03/2005 16:37
 
J

Jean-Luc

Guest
heu.... hé bien le forum fait fort :)
il a supprimé les blanc que j'avais insérés!!!
bon je soumets un fichier exemple que je viens de créer (je suis pas chez moi) pour mieux me faire comprendre. voir la cellule 'communication' [file name=exemple_20050331163930.zip size=1856]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_20050331163930.zip[/file]
 

Pièces jointes

  • exemple_20050331163930.zip
    1.8 KB · Affichages: 35

iznogoud

XLDnaute Nouveau
salut Jean-Luc, et forum
1 - pour le souci des espaces superflus :
- ça se produit dans une seule cellule ?
- comment reconnais-tu l'espace superflu de ceux (normaux) entre les mots ?
- ça pourrait ressembler au fait à la concaténation de 2 lignes pour générer le contenu de cette cellule, si c'est ça, l'espace superflu serait toujours après le même nombre de caractères dans cette cellule...
2 - pour le libellé 'Date valeur....' s'il est toujours à la fin de la cellule, ça ne devrait pas être trop dur à effacer
mais il faudrait effectivement un bout de fichier pour mieux comprendre.
A+

Edit: ce qui serait bien, serait d'avoir quelques lignes du fichier CSV, histoire de voir si les espaces en trop ne sont pas toujours au même endroit... ça aiderait.

Message édité par: iznogoud, à: 31/03/2005 16:45
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Salut à tous

Bon évidemment avec le fichier c'est bien différent que ce que j'avais interprété sans le fichier... Mais pas de difficulité majeure, quelque soit l'emplacement des espaces superflus...

Option Explicit
Option Compare Text

Const TheStringToSuppress As String = 'Date Valeur'

Sub TheCleaner()
Dim Cell As Range

&nbsp; &nbsp;
For Each Cell In ActiveSheet.UsedRange
&nbsp; &nbsp; &nbsp; &nbsp;
If InStr(Cell.Text, '&nbsp; ') <> 0 Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Cell = Application.WorksheetFunction.Substitute(Cell.Text, '&nbsp; ', '')
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp;
If InStr(Cell.Text, TheStringToSuppress) <> 0 Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
If Len(Cell) > Len(TheStringToSuppress) Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Cell = Left(Cell, InStr(Cell.Text, TheStringToSuppress) - 1)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp;
&nbsp; &nbsp;
Next
End Sub

Ce devrait être ok ce coup là...

Bon Aprèm
@+Thierry

Message édité par: _Thierry, à: 31/03/2005 17:00
 
J

Jean-Luc

Guest
Re:suppression de mots ou d'espaces dans une cellu

Voilà j'ai testé le fichier de Thierry dans une macro.
Cela fonctionne bien, merci (juste la date qui se colle au numéro de compte).
Mais sans vouloir abuser de vos merveilleuses compétences, j'attache ci-joint un exemple (fictif évidemment) du tableau avec quelques remarques-questions pour améliorer le fichier brut reçu scv de la banque.
Si vous avez la solution miracle, je vous en suis déjà pleinement reconnaissant.
Merci
JL [file name=Cleaner pour import PCBanking_20050331212945.zip size=9488]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Cleaner pour import PCBanking_20050331212945.zip[/file]
 

Pièces jointes

  • Cleaner pour import PCBanking_20050331212945.zip
    9.3 KB · Affichages: 37
J

Jean-Luc

Guest
Re:suppression de mots ou d'espaces dans une cellu

Jean-Luc écrit:
Voilà j'ai testé le fichier de Thierry dans une macro.
Cela fonctionne bien, merci (juste la date qui se colle au numéro de compte).
Mais sans vouloir abuser de vos merveilleuses compétences, j'attache ci-joint un exemple (fictif évidemment) du tableau avec quelques remarques-questions pour améliorer le fichier brut reçu scv de la banque.
Si vous avez la solution miracle, je vous en suis déjà pleinement reconnaissant.
Merci
JL [file name=Cleaner pour import PCBanking_20050331212945.zip size=9488]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Cleaner pour import PCBanking_20050331212945.zip[/file]
 
J

Jean-Luc

Guest
Re:suppression de mots ou d'espaces dans une cellu

Jean-Luc écrit:
Voilà j'ai testé le fichier de Thierry dans une macro.
Cela fonctionne bien, merci (juste la date qui se colle au numéro de compte).
Mais sans vouloir abuser de vos merveilleuses compétences, j'attache ci-joint un exemple (fictif évidemment) du tableau avec quelques remarques-questions pour améliorer le fichier brut reçu scv de la banque.
Si vous avez la solution miracle, je vous en suis déjà pleinement reconnaissant.
Merci
JL [file name=Cleaner pour import PCBanking_20050331212945.zip size=9488]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Cleaner pour import PCBanking_20050331212945.zip[/file]
 
J

Jean-Luc

Guest
Re:suppression de mots ou d'espaces dans une cellu

désolé, mais je ne sais pourquoi ma réponse a disparu et c'est un bete copier coller qui apparait... et comme on ne peut effacer son message...
Je disais donc, qu'avec le fichier VBA, il y avait aussi le montant qui était collé à la date qui elle meme est collée au numéro de compte.
Mais cela n'est pas grave si on peut trouver une solution à ma requete précedente (voir le fichier attaché dans mon précédent message
Merci à tous
J-L
 

sawya

XLDnaute Nouveau
Re : suppression de mots ou d'espaces dans une cellule

Bonsoir,
voila une macro qui m'interesse au plus haut point.
Mon probleme, c'est que je suis nulle, je fais un copier coller, mais au moment d'activer la macro, j'ai un message d'erreur :

Sub Suppress_blanc() ceci est en surbrillance
'OptionExplicit
OptionCompareText

Const TheStringToSuppress AsString = 'Date Valeur'

Sub TheCleaner()
Dim Cell As Range

Le message suivant est indique "sub ou fonction non definie" :eek:

Pourriez vous eclairer ma lanterne? sais meme pas faire ca...
d'avance je vous remercie

Sawya
 

Discussions similaires

Statistiques des forums

Discussions
312 793
Messages
2 092 165
Membres
105 244
dernier inscrit
rafa