VBA supprimer les espaces devant une cellule

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 !

Arpette

XLDnaute Impliqué
Bonsoir à tous, j'ai dans une extraction une colonne qui contient des nombres. Je n'arrive pas à les convertir pour faire des calculs car il y a des espaces devant. Je cherche le code VB qui pourrait me les supprimer. Cà fonctionne en manuel (recherche espace et remplacer par rien), mais je ne trouve pas le code vb.
Merci de votre aide.
@+
 
Re : VBA supprimer les espaces devant une cellule

Bonsoir Arpette,

Si la colonne en question est la colonne "A", essaie ce code :
Code:
    For i = 1 To Range("A65536").End(xlUp).Row
        Cells(i, 1) = CDbl(Trim(Cells(i, 1)))
    Next

Sinon, adapte le code en fonction de ta colonne

A+
 
Re : VBA supprimer les espaces devant une cellule

Bonsoir Fredo, merci de ta réponse, j'ai adapté c'est sur la colonne K, j'ai une erreur ( incompatibilité de type ) à noter que je suis dans une syntaxe avec With Worksheets, donc . devant, ou peut-être ma variable "i As long" n'est pas bonne.
Merci de ton aide.
@+
 
Re : Re: VBA supprimer les espaces devant une cellule

Salut Staple, mais non tu ne pues pas de la g...le🙂, je n'ai pas vu ta réponse. Je sais que je peux convertir, mais le code est dans une macro qui tourne sur 3 onglets qui varient entre 10000 et 50000 lignes. Ne te mets pas en colère et j'espère que tu continueras à m'aider 🙂
Merci encore
@+
 
Re : Re: VBA supprimer les espaces devant une cellule

Bonsoir,
Salut Staple, tu as mangé du Lion (ça c'est pour notre dernier échange 🙂)
Bonsoir xxx, pourrais-tu joindre un fichier avec des données bidon pour mieux comprendre. S'agit-il d'un USF, as tu des macros ou seulement des formules, çà sera plus simple.
Bah oui, quand il s'agit des autres... 🙄
A+
kjin
 
Re : VBA supprimer les espaces devant une cellule

Re,
Code:
Sub test()
Dim [COLOR="blue"]i%[/COLOR]
'transforme les cellules texte en nombre. Tester vide
For i = 2 To Range("A65536").End(xlUp).Row
    Cells(i, 1) = CDbl(Trim(Replace(Cells(i, 1), ".", ",")))
Next
End Sub
A+
kjin
 
Re : VBA supprimer les espaces devant une cellule

bonjour arpette,Jean marie,Kjin
une variante enlever seulement l'espace peut être suffisant!! a voir

Sub essai()
Dim x As Variant, r As Long, c As Long
Application.ScreenUpdating = False
x = Range("a2", Cells(Rows.Count, "a").End(xlUp))
For r = 1 To UBound(x, 1)
For c = 1 To UBound(x, 2)
x(r, c) = Replace(x(r, c), " ", "")
Next c: Next r
Range("a2", Cells(Rows.Count, "a").End(xlUp)) = x
End Sub
 
Bonjour La Compagnie Cellulaire
XLDienne

Comme je le disais Donnés/Convertir s'utilise aussi en VBA
(test fait avec 3 feuilles dont la colonne A contient des donnés de ce type
ESPACE1255.59
ESPAACE5947.98

Et cela fonctionne dans un car de Tours 😀
Code:
Sub ab()
Dim r As Range, p As Range, s As Worksheet
For Each s In Worksheets
Set r = s.[A1].CurrentRegion
Set p = r.Columns(1).Offset(1).Resize(r.Rows.Count - 1)
p.TextToColumns s.Range("A2"), DecimalSeparator:="."
Set r = Nothing
Set p = Nothing
Next s
End Sub

PS: je ne sais pas pourquoi beaucoup d'entre nous ici renâclent à utiliser Données/Convertir ?
(Je l'utilise souvent personnellement et cela sans répercussions négatives dans mon entourage immédiat
parce qu'ils ont compris qu'il ne s'agissait pas de me convertir à un culte X ou Y 😉 )
 
Dernière édition:
Re


Donc tu adoptes une solution "monofeuille" (que je respecte car sieur kjin en est l'heureux papa 😉 PS : non j'avais mangé chinois) alors que tu disais
Je sais que je peux convertir, mais le code est dans une macro qui tourne sur 3 onglets qui varient entre 10000 et 50000 lignes.

Faudrait savoir 🙄

C'est une feuille ou plusieurs ?

Ma proposition étant "multifeuilles" est donc forcément "monofeuille"

La solution de Laetitia90 doit ête plus rapide car passant par un tableau
(Je suis pas loin de penser que tu n'as testé ni sa solution, ni la mienne)
[HUMOUR]
Comme on dit dans le bâtiment, au cas ou je sois dans le vrai
"Encore un boulot fait comme un arpette !"
[/HUMOUR]
 
Dernière édition:
Re : Re: VBA supprimer les espaces devant une cellule

Salut Staple, je vois que tu n'es pas rancunier et pas méchant comme pourrait le laisser penser ton logo, mais çà je le savais 🙂. Je ne savais pas que l'on pouvait convetir en vba, mais j'ai bien enregistré ton code pour le mettre dans ma bibliothèque de mes macros et je vais comparer avec la solution de Kjin.
Merci encore à toi et bonne journée.
PS : Arpette, c'est le nom de mon chat (malin, fripon, serviable mais très gentil) comme toi 🙂
@+
 
- 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

Discussions similaires

Réponses
6
Affichages
278
Réponses
15
Affichages
782
Réponses
4
Affichages
280
  • Question Question
XL 2013 Annulé
Réponses
6
Affichages
294
Retour