Macro couper-collage spécial

sophievba

XLDnaute Junior
Bonsoir à tous,

Je suis confrontée à un problème auquel je ne parviens pas à trouver la solution.
Votre aide me serait une nouvelle fois bénéfique.

J'importe des données de divers fichiers (texte, excel ...) vers un classeur excel.
Certaines données sont au format numérique lors de l'importation par conséquent lorsque celles-ci sont collées dans le classeur excel les premiers 0 disparaissent.

Exemple : une colonne E correspond au code postal. Lorsque j'importe un code postal tel que 06000 celui devient dans mon classeur 6000.

Vous me direz surement de mettre le format personnalisé code postal, mais cela ne me convient pas car ensuite je converti ce même classeur en fichier texte et avec ce format le 0 disparait également

Comment dans une macro ajouter un 0 devant toute la colonne E quand le code postal ne contient que 4 chiffres tout en conservant le format texte lors de la conversion de mon fichier ?

J'ai pensé mettre une formule dans une autre colonne pour le format texte code postal, puis faire un copier/collage spécial valeur vers la colonne E, mais même ce bout de code je ne parviens pas à le faire avec l'enregistreur de macro. Je peux sélectionner des cellules pour faire un copier mais je ne peux sélectionner une colonne.

Merci à tous d'avoir pris le temps de lire mon problème et pour votre aide.

Bonne soirée à tous.

Sophie.
 

DoubleZero

XLDnaute Barbatruc
Re : Macro couper-collage spécial

Bonjour, sophievba, le Forum,

Peut-être ainsi :

Code:
Sub Zero_ajouter()
Dim c As Range
For Each c In Range("e2", [e65000].End(xlUp))
If c.Value <> "" And Len(c.Value) = 4 Then c.Value = "'0" & c.Value
Next
End Sub

A bientôt :)
 
Dernière édition:

sophievba

XLDnaute Junior
Re : Macro couper-collage spécial

Bonsoir DoubleZero,

Je ne sais pas quoi dire, si ce n'est un grand merci.
Je viens d'insérer ton bout de code dans mon classeur et le resultat est tout juste bluffant.
C'est exactement ce que je recherche depuis des jours.

Mille mercis à toi, toutes les personnes qui prennent le temps de nous aider et biensûr l'existence de ce site.

Bonne soirée à tous.