format de cellule

wainso

XLDnaute Occasionnel
Bonjour le Forum
je suis confronté à un problème assez bizarre pourtant j'estime avoir un minimum de connaissance sur excel..bref apparemment je suis encore loin
j'ai des cellules indiquant le numéro du Rib bancaire de mes client. ces valeurs sont générés par une autre application et sont exporté sur excel sous ce format:
RIB: 02-000-3233234574486-29-
et là je dois éliminer les tirets en premier lieu alors ce que je fais c'est CTRL+ F remplacer "-" par rien et puis je convertit le format de la cellule en numérique
la valeur renvoyé devient:
2000323323457400000 ???? le rib a changé à la fin
ce que je veux ensuite c'est de garder le même format c'est à dire le premier chiffre du rib doit être 0
Comment faire
Merci
 

Victor21

XLDnaute Barbatruc
Re : format de cellule

Bonsoir.

La solution pourrait être de placer une apostrophe avant de supprimer les tirets (par concaténation si vous disposez d'une colonne vide) de manière à forcer le format texte.
ou, toujours avec une colonne supplémentaire, d'utiliser cette formule (Le Rib en A1) :
=SUBSTITUE(A1;"-";"")

Edit : Bonjour Rachid.

PS : j'en ai profité pour corriger mon ânerie.
 
Dernière édition:

wainso

XLDnaute Occasionnel
Re : format de cellule

Génial c'est exactement ce que je voulais les deux solutions me conviennent
Par contre pouvez vous m'expliquer le changement du rib dans mon cas juste pour comprendre le fonctionnement interne de l'opération que j'ai fait
 

wainso

XLDnaute Occasionnel
Re : format de cellule

une autre question s'il vous plait
il y a un autre fichier généré par le système qui me génère les Rib sous format numérique et là j'ai deux possibilité
SAchant qu'un rib est composé obligatoirement de 20 chiffres ; ceux qui commencent par un 0 vont avoir 19 chiffres. Comment ajouter un 0 au début du RIB et le rendre format texte en conséquence
Merci beaucoup pour l'aide que vous êtes entrain de fournir les gars
 

laurent950

XLDnaute Accro
Re : format de cellule

Bonsoir Wainso, Rachid_0661, Victor21.

Je suis entrain de me former a la variable tableau qui est super puissante, j’ai tester sur le fichier de Wainso.

Le code fonctionne bien, ont peux l’adapter a souhait.

Pour info le 0 devant par exemple : 0266 (il faut formater la cellule au format texte)
Ce que j’ai fait dans la macro VBA.

Puis ensuite un trim pou supprimer tous les espaces en trop pour avoir la clef propre que j’ai restitué en bloque.

Pour voir le résultat en face il faut passer par une boucle for each.


code :

VB:
Dim Tableau() As String
Dim TR() As String
Dim i As Integer

fin = Range("a65536").End(xlUp).Row
Set plage = Range(Cells(1, 1), Cells(fin, 1))

For Each c In plage
If c <> Empty Then
    x = x + 1
    Tableau = Split(c, "-")
    For i = 0 To UBound(Tableau)
        Debug.Print Tableau(i)
        ReDim Preserve TR(1 To fin, 1 To x)
        TR(1, x) = TR(1, x) & Tableau(i)
        Debug.Print TR(1, x)
     Next i
     TR(1, x) = Right(TR(1, x), Len(TR(1, x)) - 4)
     Debug.Print TR(1, x)
End If
Next c

Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)).NumberFormat = "@"
Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)).HorizontalAlignment = xlRight

' Resultat en B1
Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)) = Application.Transpose(TR)

Cells(1, 2).Resize(UBound(TR, 2), UBound(TR, 1)) = Application.Trim(Application.Transpose(TR)) 'Supprime tous les espaces en trop exemple : 3 espaces entre "un   et" = "un et"

End Sub

Merci Victor21 pour les différentes aides que tu m’as apporter sur ce forum, est j’espéres que Wainso trouvera une solution la mieux adapter a ces besoin avec nos différent exemples.

Laurent
 

Pièces jointes

  • Variable tableau deconcatenation.xls
    43.5 KB · Affichages: 68
Dernière édition:

Discussions similaires

Réponses
5
Affichages
136

Statistiques des forums

Discussions
312 345
Messages
2 087 470
Membres
103 551
dernier inscrit
d3vi