Microsoft 365 Problème de format de cellule en VBA

David

XLDnaute Occasionnel
Bonjour à tous,

j'ai un soucis avec un format de cellule, je créé un onglet, je déplace le contenue des cellules en fonction d'un compte, ça marche sans problème mais quand je lui dis de mettre les valeurs sur l'onglet créé, dans mes colonnes C & D j'ai des chiffres au format TEXTE (0190) que je veux garder, et lorsque qu'il me met la valeur sur l'onglet (libel) il me les transforme en chiffres (190), comment je peux garder le format d'origine des colonnes?

VB:
Sheets(Libel).Range("A" & DerligDest & ":G" & DerligDest) = Sheets("PROVISION M-1").Range("A" & i & ":G" & i).Value

Merci.
 

David

XLDnaute Occasionnel
Bo
Bonjour David,

Peut-être avec
VB:
Sheets(Libel).Range("A" & DerligDest & ":G" & DerligDest).Text = Sheets("PROVISION M-1").Range("A" & i & ":G" & i).Text

A+
Bonjour,
Merci, j'est testé ça ne marche pas, soit j'ai une erreur avec .Text sur la première partie, soit il ne ramène rien avec le .Text sur la seconde partie. Le .Value doit poser problème, mais je ne vois pas comment faire autrement.
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Si tu veux garder le format d'origine, tu peux faire une copie de la cellule source vers la cellule cible, ou ajouter dans ta macro des instructions qui vont recopier le format, ou peut-être tout simplement mettre au départ ta cellule cible au format Texte.
 

David

XLDnaute Occasionnel
Merci TooFatBoy
j'arrive à passer la cellule au format texte avec Selection.NumberFormat = "@" et les nombres se mettent bien au format Texte, mais les 0 devants ont déjà disparus, il faudrait qu'en plus du format texte, je remette le format sur 4 caractères. je peux avoir 2 ou 3 chiffres.
Faire un copier coller de chaque ligne est super lourd.
 

TooFatBoy

XLDnaute Barbatruc
Si, comme tu le dis dans ta question, ta cellule source est vraiment du texte, je ne vois pas pourquoi la cellule cible ne reste pas au format texte. 🤔


Mais bon, la divination c'est pas trop mon truc... :(
 
Dernière édition:

David

XLDnaute Occasionnel
Merci pour vos retours, je ne peux mettre le fichier à dispo.
Je sais que la divination ce n'est pas votre truc, mais ça change bien le texte en valeur sur cette ligne et pas ailleurs. je ne me l'explique pas. J'ai tenté tout un tas de truc. Et bizarrement si je transforme les cellules en texte à la création de l'onglet ça marche pour le format, mais j'ai une boucle ou ça ne lui plait pas et ça par en live.
Pas grave du coup je suis passé en copier coller, ç'est plus lourd mais ça marche.
Merci et bonne journée.
 

Phil69970

XLDnaute Barbatruc
@David

je ne peux mettre le fichier à dispo.

Rien ne t’empêche de fournir un fichier représentatif :oops:

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, même nom des TS, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous :),

Cliquer sur le bouton Hop! et et comparer les résultats en colonne C et E (pas de boucle):
VB:
Sub test()
     
   ' vers colonne C sans formatage préalable
   Range("c2:c30") = Range("a2:a30").Value
 
   ' vers colonne E avec formatage prélable en "Texte"
   Range("e2:e30").NumberFormat = "@"
   Range("e2:e30") = Range("a2:a30").Value
End Sub
 

Pièces jointes

  • David- valeurs chiffre en texte- v1.xlsm
    17.6 KB · Affichages: 0

TooFatBoy

XLDnaute Barbatruc
Et bizarrement si je transforme les cellules en texte à la création de l'onglet ça marche pour le format
Il n'y a rien de bizarre. C'est même normal et c'est pour cela que c'est une des propositions que je t'ai faites.
Une des autres propositions que je t'ai faites était le copier/coller. Tu dis que ça fonctionne aussi. C'est normal aussi.

Tu n'as pas dit si tu avais vérifié que le contenu de la cellule source était bien du texte et non un nombre... 😕



mais j'ai une boucle ou ça ne lui plait pas et ça par en live.
Sans le classeur, et sans même la macro, impossible de t'aider à résoudre ton problème de boucle.
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 861
Messages
2 092 962
Membres
105 571
dernier inscrit
MAT30190