XL 2010 macro pour mise en forme avec fichier texte

matoupitou

XLDnaute Occasionnel
bonjour les Balaises et par avance MERCI

est-il possible de créer une macro qui permettrait d'avoir les références de la colonne A (quelque soit leur nombre - 3 lignes comme 100 et + possible ) pour les avoir figées en texte sur 13 positions.

je passe par un fichier texte car je n'arrive pas à figer le format texte autrement

en pj les documents pour éclairer mon bla-bla

je croise les doigts - merci de m'apprendre
 

Pièces jointes

  • Retour1.xlsx
    117.8 KB · Affichages: 10
  • eantxt.txt
    285 bytes · Affichages: 9

vgendron

XLDnaute Barbatruc
Bonjour

je ne comprend pas le besoin..
tu veux mettre les références de la colonne A sur 13 chiffres??
et bien.. tu as déjà appliqué le format personalisé..
aucun besoin de macro supplémentaire..

et quel interet de passer par un fichier texte??

en fait.. je ne vois pas le pb..
la question qui se pose est:
De QUOI tu pars..?
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
VB:
Option Explicit
Sub Test()
   Dim Rng As Range, T(), L As Long
   Set Rng = ActiveSheet.[A2].Resize(ActiveSheet.[A1000000].End(xlUp).Row - 1)
   T = Rng.Value
   For L = 1 To UBound(T, 1)
      If VarType(T(L, 1)) = vbDouble Then T(L, 1) = "'" & Format(T(L, 1), String$(13, "0"))
      Next L
   Rng.Value = T
   End Sub
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

est-il possible de créer une macro qui permettrait d'avoir les références de la colonne A (quelque soit leur nombre - 3 lignes comme 100 et + possible ) pour les avoir figées en texte sur 13 positions.
Aucun besoin de macro si tu utilises un Tableau Structuré dans lequel tu mets la première colonne au format "0000000000000".


[edit]
Au temps pour moi : je viens de relire ta question et tu veux que ce soit figé, ce qui n'est pas le cas avec ma proposition. Désolé. :(
[/edit]
 
Dernière édition:

matoupitou

XLDnaute Occasionnel
bonjour les Balaises et par avance MERCI

est-il possible de créer une macro qui permettrait d'avoir les références de la colonne A (quelque soit leur nombre - 3 lignes comme 100 et + possible ) pour les avoir figées en texte sur 13 positions.

je passe par un fichier texte car je n'arrive pas à figer le format texte autrement

en pj les documents pour éclairer mon bla-bla

je croise les doigts - merci de m'apprendre
Ce Format de cellule n'est appliqué que pour les nombres. Alors s'il est appliqué ce ne sont pas des textes. Maintenant la raison pour laquelle le demandeur veut les avoir sous forme de texte, nous ne la connaissons pas.
mais merci à tous - j'ai besoin du format texte pour réussir des rechercheV ( j'ai besoin de rapatrier des infos chiffrées d'autres classeurs externes ensuite - la donnée commune étant la référence ) - j'espère être plus claire !
 

matoupitou

XLDnaute Occasionnel
Ça implique que les numéros à rechercher sont aussi sous forme de textes ?
Avez vous essayé ma procédure ?
re-bonjour Dranreb:

oui le format texte est requis

la mise en forme avec 13 zéros est juste visuelle (dès lors qu'on essaie le format texte les zéros du début de référence disparaissent) - passer par un copie/colle sur fichier TxT permet de forcer le format texte sur la colonne A - avec un copie/colle cette fois du fichier txte vers excel je récupère bien mes références en format 13 positions avec les zéros en début de réf si besoin et surtout le petit triangle vert qui sécurise la fonction RecherchV ensuite)

cette partie ne fonctionne pas :
ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:= _
False

l'idéal serait de recevoir ce fichier avec les références correctement mises en forme mais ce n'est pas le cas
 

TooFatBoy

XLDnaute Barbatruc
la mise en forme avec 13 zéros est juste visuelle (dès lors qu'on essaie le format texte les zéros du début de référence disparaissent) - passer par un copie/colle sur fichier TxT permet de forcer le format texte sur la colonne A - avec un copie/colle cette fois du fichier txte vers excel je récupère bien mes références en format 13 positions avec les zéros en début de réf si besoin et surtout le petit triangle vert qui sécurise la fonction RecherchV ensuite)
Sinon, faire un Copier de la colonne A "mise en forme avec 13 zéros", puis faire un Collage spécial pour ne coller que les valeurs.
Ce n'est pas génial mais ça évite de passer par un fichier TXT. ;)
 

matoupitou

XLDnaute Occasionnel
Sinon, faire un Copier de la colonne A "mise en forme avec 13 zéros", puis faire un Collage spécial pour ne coller que les valeurs.
Ce n'est pas génial mais ça évite de passer par un fichier TXT. ;)
sauf erreur, ça ne fonctionne pas, les zéros disparaissent non pas en visu mais quand on clique sur la cellule ( d'où cet aller/retour déporté avec un fichier texte )
 

matoupitou

XLDnaute Occasionnel
mais merci à tous - j'ai besoin du format texte pour réussir des rechercheV ( j'ai besoin de rapatrier des infos chiffrées d'autres classeurs externes ensuite - la donnée commune étant la référence ) - j'espère être plus claire !
mais comment vous avez trop raison, voilà vous avez tte votre tête vous ! MAIS MERCI là, ça fonctionne j'en reviens pas - doisje faire qq chose vs cette version 'TEST' ?
 

Dranreb

XLDnaute Barbatruc
VB:
Option Explicit
Sub Test()
   Dim Rng As Range, T(), L As Long
   Set Rng = Selection
'    if rng.rows.count=1 then set rng=rng.resize(rng(1000000,1).end(xlup).row - rng.row + 1)
   T = Rng.Value
   For L = 1 To UBound(T, 1)
      If VarType(T(L, 1)) = vbDouble Then T(L, 1) = "'" & Format(T(L, 1), String$(13, "0"))
      Next L
   Rng.Value = T
   End Sub
 

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki