Récupérer une valeur de celllule avec format numérique personnalisé

tchangy71

XLDnaute Occasionnel
Bonjour,

Je recherche une fonction de tri autre que xlAscending me permettant de trier de la manière suivante :

texte_1_texte.xlsm
texte_2_texte.xlsm
...
texte_9_texte.xlsm
texte_10_texte.xlsm
texte_11_texte.xlsm
etc...

au lieu de :
texte_1_texte.xlsm
texte_10_texte.xlsm
texte_11_texte.xlsm
..
texte_2_texte.xlsm
texte_20_texte.xlsm
etc..

Le cas échéant :
(attention ce n'est plus le même classeur, c'est justement celui qui doit être répertorié et trié. Enfin j'essaye de prendre le problème par tous les bouts !! :))

Je peux mettre un format numérique personnalisé (différent de standard, Nombre, compta,..) du type 000, 001,..., 010,..., 100 dans une cellule

Je me sert de la valeur de cette cellule pour enregistrer mon classeur, mais je n'arrive pas à conserver le 001 il me le sauvegarde de la manière suivante :

texte_1_texte.xlsm

Mes tests :
ThisWorkbook.SaveAs ThisWorkbook.Sheets("donnees").Range("B2") & "Fiche_N_" & .Range("C3") & "_" & .Range("C1") & "_banque_d_accueil" & ".xlsm"

ThisWorkbook.SaveAs ThisWorkbook.Sheets("donnees").Range("B2") & "Fiche_N_" & .Range("C3").value & "_" & .Range("C1") & "_banque_d_accueil" & ".xlsm"

Et rien,
Je tourne donc en rond ...

Merci pour votre aide,

Cordialement,

Philippe
 

job75

XLDnaute Barbatruc
Re : Récupérer une valeur de celllule avec format numérique personnalisé

Bonsoir tchangy71,

Je peux mettre un format numérique personnalisé (différent de standard, Nombre, compta,..) du type 000, 001,..., 010,..., 100 dans une cellule

Je me sert de la valeur de cette cellule pour enregistrer mon classeur, mais je n'arrive pas à conserver le 001 il me le sauvegarde de la manière suivante :

texte_1_texte.xlsm

Mettez la cellule au format Texte et entrez-y 001.

Si vous la tirez vers le bas vous obtiendrez 002, 003,... 010,...,100.

Cela devrait régler le problème du tri.

A+
 

tchangy71

XLDnaute Occasionnel
Re : Récupérer une valeur de celllule avec format numérique personnalisé

En faite mon problème est un peu plus complexe, cette valeur est initialement 000

Mais a chaque fois que je crée un nouveau classeur (en faite une copie d'un fichiers source) cette valeur s'incrémente de 1 (me permettant d'avoir un suivie numérique et évolutif de nombre de classeur crée par rapport à un client)

Du coup quand je le mets au format Texte, il me l'incrémente bien, mais lui fais disparaitre les 00

Ex : (valeur d'entrée) 000 + 1 (incrémentation par la macro) = (valeur de sortie) 1
!!
Merci, pour ta proposition,
Philippe
 

job75

XLDnaute Barbatruc
Re : Récupérer une valeur de celllule avec format numérique personnalisé

Re,

Donc supposons que la cellule A1 soit au format Texte et contienne 000

Pour l'incrémenter, ce code dans la macro :

Code:
Set cel = [A1]
cel.Value = Format(cel + 1, "000")
A+
 

tchangy71

XLDnaute Occasionnel
Re : Récupérer une valeur de celllule avec format numérique personnalisé

Voila ce que j'ai tenté mais ça ne fonctionne pas !
ThisWorkbook.SaveAs ThisWorkbook.Sheets("donnees").Range("B2") & "Fiche_N_" & .Range("C3") & "_" & Format(.Range("C1").Value, "000") & "_banque_d_accueil" & ".xlsm"
 

bond

XLDnaute Occasionnel
Re : Récupérer une valeur de celllule avec format numérique personnalisé

Pour être sur du reste t'as essayé avec :
ThisWorkbook.SaveAs ThisWorkbook.Sheets("donnees").Range("B2") & "Fiche_N_" & .Range("C3") & "_" & "_banque_d_accueil" & ".xlsm"
 

job75

XLDnaute Barbatruc
Re : Récupérer une valeur de celllule avec format numérique personnalisé

Re,

Sans le code complet, on travaille en aveugle, mais bon, la boule de cristal :

Code:
With ThisWorkbook.Sheets("donnees")
ThisWorkbook.SaveAs .Range("B2") & "Fiche_N_" & .Range("C3") & "_" & Format(.Range("C1").Value, "000") & "_banque_d_accueil" & ".xlsm"
End With

A+
 

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG