• Initiateur de la discussion Initiateur de la discussion Amrane
  • 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 !

Amrane

XLDnaute Junior
Bjr Forum.

j'ai deux problemes.

a\ y a t il une ligne de commande VB par a quelle je peux dé-concaténer une cellue qui contient uine longue chaine des donnée réguliérement séparer par des virgules.

b\ mon problème majeur , j'ai remarqué qu'il y a uniquement l'utilitair " file automatiques qui peut traiter le caractére étoile (*) proprement dit, la solution provisoir est d'utiliser la fonction:" Len(Cells(k, 21))" mais je ne peux pas couvrir le cas d'un nombre a deux chiffres aprés la virgule ( ligne 10 par exemple).

merci.

Amrane
 
Re : déconcaténation

Bonjour Amrane

pour ton 1er problème essaye la fonction "Split", exemple ci dessous, texte en A1 renvoie dans la colonne b.

Code:
Sub Test()
Dim MonTexte, x As Byte
MonTexte = Split(Range("A1"), ",")
For x = LBound(MonTexte) To UBound(MonTexte)
    Range("B" & x + 1) = MonTexte(x)
Next
End Sub

pour ton 2ème problème, pas trop compris, la fonction "Len" te renvoie un nombre de caractères décimales comprises...

bon après midi
@+
 
Re : déconcaténation

Bonjour à tous

Amrane, ton problème n'est pas simple car il y a des mélanges de points et de virgules.
Ne serait til pas possible d'voir un tab comme séparateur de champs voir un point-virgule?
 
Re : déconcaténation

BJR


Cher Catrice


a\ merci pour code, c'est trés radide sauf que je doit toujours préciser la cellule victim de déconcaténation, y a-t-il une possibilité d'argumenter cette commande??

a\

mon probléme c'ets que je doit avoir des cellule qui contient un nobme no pas une chaine de caractére, et malheureusement l'étoile "*" est un mot clé d'une part, et la command " len" résoudre le problem pour les cases ( par éxemple 1.2*) et je reste handicapé pour les case (par éxemple 1.23*)!!!!



merci.

amrane



Catrice à dit:
Armane,

Y a t il un critere qui permette de repérer le separateur decimal de 105.4 ?
Y a t il toujours 105.4 à cet endroit ?
 

Pièces jointes

Re : déconcaténation

Bonsoir Amrane, Catrice, Pierrot93

Dans ton fichier "Decon-V2" le caractère "*" se trouve toujours à la fin.
Ne sachant pas s'il peut y en avoir d'autre à une place quelconque, voici deux macros :

La 1ère supprime tous les "*" dans chaque cellule avant d'extraire le contenu.
La 2ème supprime le "*" dans la dernière cellule aprés l'extraction.

1ère solution :
Code:
Private Sub CommandButton1_Click()

Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To Sheets("Sheet2").Range("B65536").End(xlUp).Row
  Cells(i, 2) = Replace(Cells(i, 2), "*", "")
Next i
Sheets("Sheet2").Range("B2").CurrentRegion.TextToColumns Destination:=Range("G2"), DataType:=xlDelimited, Comma:=True
Application.ScreenUpdating = True

End Sub

2ème solution :
Code:
Private Sub CommandButton1_Click()

Dim i As Integer
Application.ScreenUpdating = False
Sheets("Sheet2").Range("B2").CurrentRegion.TextToColumns Destination:=Range("G2"), DataType:=xlDelimited, Comma:=True
For i = 2 To Sheets("Sheet2").Range("B65536").End(xlUp).Row
   Range("IV" & i).End(xlToLeft) = Replace(Range("IV" & i).End(xlToLeft), "*", "")
Next i
Application.ScreenUpdating = True
End Sub

A+
 
- 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
Retour