Problème excel séparation de cellule..
diou
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis très ennuyé car j'ai une colonne d'adresse sous excel composé de chiffre et de lettre par exemple:
23 rue du pommier
Tout ça dans la même cellule et je ne trouve pas de code VBA ou de façon de séparer les chiffres des lettres en deux colonnes distinctes, j'ai essayé de faire convertir, mais cela ensuite me décompose mon adresse avec la lettre dans une colonne (super!) mais toute l'adresse est elle aussi séparé en 5colonne (mot par mot)
Bref que faire? Je suis desepéré j'ai 2500 lignes atraiter
par avance merci de votre aide
Je suis très ennuyé car j'ai une colonne d'adresse sous excel composé de chiffre et de lettre par exemple:
23 rue du pommier
Tout ça dans la même cellule et je ne trouve pas de code VBA ou de façon de séparer les chiffres des lettres en deux colonnes distinctes, j'ai essayé de faire convertir, mais cela ensuite me décompose mon adresse avec la lettre dans une colonne (super!) mais toute l'adresse est elle aussi séparé en 5colonne (mot par mot)
Bref que faire? Je suis desepéré j'ai 2500 lignes atraiter
par avance merci de votre aide
A voir également:
- Problème excel séparation de cellule..
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne dans une cellule excel - Guide
5 réponses
Alors essaye ceci :
Ta liste en colonne A le résultat en B et C :
Sub test()
Dim MonTableau() As String
Dim i, derlig, j As Integer
derlig = Range("A65536").End(xlUp).Row
For i = 1 To derlig
MonTableau = Split(Cells(i, 1), " ")
Cells(i, 2) = MonTableau(0)
For j = 1 To UBound(MonTableau)
Cells(i, 3) = Cells(i, 3) & " " & MonTableau(j)
Next j
Next i
End Sub
Ta liste en colonne A le résultat en B et C :
Sub test()
Dim MonTableau() As String
Dim i, derlig, j As Integer
derlig = Range("A65536").End(xlUp).Row
For i = 1 To derlig
MonTableau = Split(Cells(i, 1), " ")
Cells(i, 2) = MonTableau(0)
For j = 1 To UBound(MonTableau)
Cells(i, 3) = Cells(i, 3) & " " & MonTableau(j)
Next j
Next i
End Sub
merci bcp !!
J'ai cependant quelques erreurs indépendante de ton code qui sont dû au fait que parfois il n'y a pas de numéro de rue et du coup c'est le mot "rue" ou "chemin" qui vient dans la colonne "B"
Si par hasard tu as le temps de me trouver une mini solution tu deviendrais pour moi un dieu vivant :D
J'ai cependant quelques erreurs indépendante de ton code qui sont dû au fait que parfois il n'y a pas de numéro de rue et du coup c'est le mot "rue" ou "chemin" qui vient dans la colonne "B"
Si par hasard tu as le temps de me trouver une mini solution tu deviendrais pour moi un dieu vivant :D
Re-
Suffit d'ajouter un pitit test. En gras dans le code ci-dessous :
1- si pas de numéro ne mets rien en colonne B :
2- mets le premier mot en B et le reste en C :
Et voilà, me voici devenu un dieu vivant.... Suffit de peu des fois!!
Suffit d'ajouter un pitit test. En gras dans le code ci-dessous :
1- si pas de numéro ne mets rien en colonne B :
Sub test()
Dim MonTableau() As String
Dim i, derlig, j As Integer
derlig = Range("A65536").End(xlUp).Row
For i = 1 To derlig
MonTableau = Split(Cells(i, 1), " ")
If IsNumeric(MonTableau(0)) Then
Cells(i, 2) = MonTableau(0)
End If
For j = 1 To UBound(MonTableau)
Cells(i, 3) = Cells(i, 3) & " " & MonTableau(j)
Next j
Next i
End Sub
2- mets le premier mot en B et le reste en C :
Sub test()
Dim MonTableau() As String
Dim i, derlig, j As Integer
derlig = Range("A65536").End(xlUp).Row
For i = 1 To derlig
MonTableau = Split(Cells(i, 1), " ")
If IsNumeric(MonTableau(0)) Then
Cells(i, 2) = MonTableau(0)
Else
Cells(i, 2) = MonTableau(0)
For j = 1 To UBound(MonTableau)
Cells(i, 3) = Cells(i, 3) & " " & MonTableau(j)
Next j
GoTo suite
End IfFor j = 1 To UBound(MonTableau)
Cells(i, 3) = Cells(i, 3) & " " & MonTableau(j)
Next j
suite:
Next i
End Sub
Et voilà, me voici devenu un dieu vivant.... Suffit de peu des fois!!
Bonjour tout le monde,
ou sans macro avec ton adresse en A1 :
1ère partie :
=GAUCHE(A1;CHERCHE(" ";A1)-1)
2nde partie :
=STXT(A1;CHERCHE(" ";A1)+1;100)
Terminer par un copier/collage spécial valeur pour ne garder que le résultat
eric
ou sans macro avec ton adresse en A1 :
1ère partie :
=GAUCHE(A1;CHERCHE(" ";A1)-1)
2nde partie :
=STXT(A1;CHERCHE(" ";A1)+1;100)
Terminer par un copier/collage spécial valeur pour ne garder que le résultat
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir à tous,
On peut compléter la proposition d'eric avec une condition qui prend en compte l'absence de n°.
1ére partie =SI(ESTNUM(GAUCHE(A1;1)*1);GAUCHE(A1;CHERCHE(" ";A1)-1);"")
2nd partie =SI(ESTNUM(GAUCHE(A1;1)*1);STXT(A1;CHERCHE(" ";A1)+1;100);A1)
Ces formules fonctionnent avec des 23bis (sans espace) mais pas avec des 23 bis.
On peut compléter la proposition d'eric avec une condition qui prend en compte l'absence de n°.
1ére partie =SI(ESTNUM(GAUCHE(A1;1)*1);GAUCHE(A1;CHERCHE(" ";A1)-1);"")
2nd partie =SI(ESTNUM(GAUCHE(A1;1)*1);STXT(A1;CHERCHE(" ";A1)+1;100);A1)
Ces formules fonctionnent avec des 23bis (sans espace) mais pas avec des 23 bis.