OVH Cloud OVH Cloud

Encore mes formats

16 réponses
Avatar
Jacquouille
Bonjour

Je voudrais ---> [A1]=2011 au format = "#,##0"
J'y arrive via la solution me donnée par Isabelle
[A1]=2011
With Range("A1")
'.NumberFormat = "#,##0"
End With

Est-il possible d'écrire cela en VBA sur une seule ligne?
Grand merci et bon WE à tous et tousses

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

6 réponses

1 2
Avatar
Jacky
Ok Denis c'est noté
Merci
Pourrais-tu répondre à Jacquouille un peu plus haut dans ce fil au sujet d'une limitation ?

--
Salutations
JJ


"MichD" a écrit dans le message de news: im4q2s$9t2$
Bonjour Jacky,

| [a1] = Format([a1], "# ###")

La fonction "Format" s'applique au contenu d'une variable en VBA mais elle
n'affecte pas le format d'une cellule.

Exemple : Si le format de la cellule A1 a reçu un format Date, exécute cette ligne
de code :

Range("A1") = Format(40123.56, "# ##0")

Il est loin d'être sûr que tu obtiendras 40123 au format numérique dans la cellule!

Pour appliquer un format à une cellule, on doit utiliser :

Range("A1").NumberFormat = ....
Ou
Range("A1").NumberFormatLocal = ...


MichD
--------------------------------------------

Avatar
Modeste
Bonsour®

"Jacquouille" a écrit
A ta connaissance, y aurait-il un max de caractères autorisé dans les macros?
Mon PC recommence à refuser de'enregistrer le document.



Question ambigüe ;o)))
dans le nom d'une macro : le nom est me semble-t-il limité à 31 caractères ...
dans le cas d'un module : la taille du .bas correspondant pose également des
problèmes au-delà de 64 Koctets
(solution dans ce cas scinder le module)
@+
Avatar
Jacquouille
Peux-je t'envoyer ce module afin que tu le reluques?
La macro fonctionnait et fonctionne parfaitement, même en continuant à
l'alourdir.
J'enregistrait de temps à autre, puis il (mon PC) a commencé à me montrer la
fenêtre de "enregistrer sous" en me proposant le même nom de fichier. Que je
dise oui ou non, il ne veut plus enregistrer.
J'avais déjà eu cela. j'ai recommencé tout depuis le début et ça
allait....jusqu'à ce que ....
Merdum !




Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Modeste" a écrit dans le message de groupe de discussion :
4d85f5ee$0$28393$

Bonsour®

"Jacquouille" a écrit
A ta connaissance, y aurait-il un max de caractères autorisé dans les
macros? Mon PC recommence à refuser de'enregistrer le document.



Question ambigüe ;o)))
dans le nom d'une macro : le nom est me semble-t-il limité à 31 caractères
...
dans le cas d'un module : la taille du .bas correspondant pose également des
problèmes au-delà de 64 Koctets
(solution dans ce cas scinder le module)
@+
Avatar
Jacquouille
Re Denis
OK pour le format.
mais, pour attribuer une valeur ET un format à une cellule, c'est possible
en UNE ligne ?


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
im4q2s$9t2$

Bonjour Jacky,

| [a1] = Format([a1], "# ###")

La fonction "Format" s'applique au contenu d'une variable en VBA mais elle
n'affecte pas le format d'une cellule.

Exemple : Si le format de la cellule A1 a reçu un format Date, exécute cette
ligne
de code :

Range("A1") = Format(40123.56, "# ##0")

Il est loin d'être sûr que tu obtiendras 40123 au format numérique dans la
cellule!

Pour appliquer un format à une cellule, on doit utiliser :

Range("A1").NumberFormat = ....
Ou
Range("A1").NumberFormatLocal = ...


MichD
--------------------------------------------
Avatar
MichD
Tu pourrais écrire ça comme ceci :


With Range("A1")
.NumberFormat = "###0": .Value = 25478
End With

.numberformat et .value représente 2 propriétés distinctes et il est préférable
d'utiliser une ligne pour chacune, c'est beaucoup plus facile à lire.



MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4d85fc4b$0$14250$

Re Denis
OK pour le format.
mais, pour attribuer une valeur ET un format à une cellule, c'est possible
en UNE ligne ?


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
im4q2s$9t2$

Bonjour Jacky,

| [a1] = Format([a1], "# ###")

La fonction "Format" s'applique au contenu d'une variable en VBA mais elle
n'affecte pas le format d'une cellule.

Exemple : Si le format de la cellule A1 a reçu un format Date, exécute cette
ligne
de code :

Range("A1") = Format(40123.56, "# ##0")

Il est loin d'être sûr que tu obtiendras 40123 au format numérique dans la
cellule!

Pour appliquer un format à une cellule, on doit utiliser :

Range("A1").NumberFormat = ....
Ou
Range("A1").NumberFormatLocal = ...


MichD
--------------------------------------------
Avatar
MichD
Tu peux m'envoyer ton fichier en utilisant l'adresse Hotmail... je te répondrai plus tard
tu as toujours l'alternative d'utiliser cijoint.fr , tout le monde pourra te faire des suggestions...



MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4d85fbe5$0$14260$

Peux-je t'envoyer ce module afin que tu le reluques?
La macro fonctionnait et fonctionne parfaitement, même en continuant à
l'alourdir.
J'enregistrait de temps à autre, puis il (mon PC) a commencé à me montrer la
fenêtre de "enregistrer sous" en me proposant le même nom de fichier. Que je
dise oui ou non, il ne veut plus enregistrer.
J'avais déjà eu cela. j'ai recommencé tout depuis le début et ça
allait....jusqu'à ce que ....
Merdum !




Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Modeste" a écrit dans le message de groupe de discussion :
4d85f5ee$0$28393$

Bonsour®

"Jacquouille" a écrit
A ta connaissance, y aurait-il un max de caractères autorisé dans les
macros? Mon PC recommence à refuser de'enregistrer le document.



Question ambigüe ;o)))
dans le nom d'une macro : le nom est me semble-t-il limité à 31 caractères
...
dans le cas d'un module : la taille du .bas correspondant pose également des
problèmes au-delà de 64 Koctets
(solution dans ce cas scinder le module)
@+
1 2