J'accède a un graphe Excel créé par VB,
donc en chargeant d'abord mes valeurs dans une feuille.
Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs
écrites dans la MSHFlexGrid avec un point décimal,
correctement calculées avec VB,
correctement enregistrées sous .MDB en DAO
sont transmises à Excel en remplacant le point décimal
(uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK)
par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées :
- charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) = Format(i
* j + Rnd(4#), "000.0000")
- ecriture DAO : tPoints!val = .TextMatrix(i,j)
- ecriture dans Excel: .Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1)
le plus bizarre est que cette instruction traite correctement
la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des
décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse"
est rempli par un string de contenu exact : xRange.Value = " Point Eff."
Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal,
j'utilise dans le KeyPressed de mon MSHFlexGrid :
SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon
caractère décimal
Alors là ! Doit y avoir un piège dans un coin,
mais pouvez-vous m'indiquer une piste ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
YannX
"YannX" a écrit dans le message de news:
Bnjr a tous,
J'accède a un graphe Excel créé par VB, donc en chargeant d'abord mes valeurs dans une feuille. Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs écrites dans la MSHFlexGrid avec un point décimal, correctement calculées avec VB, correctement enregistrées sous .MDB en DAO sont transmises à Excel en remplacant le point décimal (uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK) par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées : - charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) Format(i * j + Rnd(4#), "000.0000") - ecriture DAO : tPoints!val = .TextMatrix(i,j) - ecriture dans Excel: .Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1)
le plus bizarre est que cette instruction traite correctement la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse" est rempli par un string de contenu exact : xRange.Value = " Point Eff." Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal, j'utilise dans le KeyPressed de mon MSHFlexGrid : SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon caractère décimal
Alors là ! Doit y avoir un piège dans un coin, mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = Format(v,"00.00") = "0,23" -> XL.XP 2003 m'indique une coche verte et "le montant de cette cellule est au format texte " d'ailleurs cadré a gauche ! jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458 Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal ..... coche le séparateur de miliers ! [E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ; Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte ! Qd je saisis à la main 0,23 -> cela va a droite Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux ! Merci de vos luminosités Y
"YannX" <ydx_nospam@yahoo.fr> a écrit dans le message de
news:ulr6k150EHA.1300@TK2MSFTNGP14.phx.gbl...
Bnjr a tous,
J'accède a un graphe Excel créé par VB,
donc en chargeant d'abord mes valeurs dans une feuille.
Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs
écrites dans la MSHFlexGrid avec un point décimal,
correctement calculées avec VB,
correctement enregistrées sous .MDB en DAO
sont transmises à Excel en remplacant le point décimal
(uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK)
par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées :
- charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) Format(i
* j + Rnd(4#), "000.0000")
- ecriture DAO : tPoints!val = .TextMatrix(i,j)
- ecriture dans Excel: .Range("C" & j + 1).Value = mGridO.TextMatrix(j,
1)
le plus bizarre est que cette instruction traite correctement
la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des
décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse"
est rempli par un string de contenu exact : xRange.Value = " Point Eff."
Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal,
j'utilise dans le KeyPressed de mon MSHFlexGrid :
SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon
caractère décimal
Alors là ! Doit y avoir un piège dans un coin,
mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci
Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = Format(v,"00.00") = "0,23"
-> XL.XP 2003 m'indique une coche verte et
"le montant de cette cellule est au format texte " d'ailleurs
cadré a gauche !
jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458
Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal
..... coche le séparateur de miliers !
[E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre
commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ;
Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte !
Qd je saisis à la main 0,23 -> cela va a droite
Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel
concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux !
Merci de vos luminosités
Y
J'accède a un graphe Excel créé par VB, donc en chargeant d'abord mes valeurs dans une feuille. Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs écrites dans la MSHFlexGrid avec un point décimal, correctement calculées avec VB, correctement enregistrées sous .MDB en DAO sont transmises à Excel en remplacant le point décimal (uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK) par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées : - charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) Format(i * j + Rnd(4#), "000.0000") - ecriture DAO : tPoints!val = .TextMatrix(i,j) - ecriture dans Excel: .Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1)
le plus bizarre est que cette instruction traite correctement la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse" est rempli par un string de contenu exact : xRange.Value = " Point Eff." Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal, j'utilise dans le KeyPressed de mon MSHFlexGrid : SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon caractère décimal
Alors là ! Doit y avoir un piège dans un coin, mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = Format(v,"00.00") = "0,23" -> XL.XP 2003 m'indique une coche verte et "le montant de cette cellule est au format texte " d'ailleurs cadré a gauche ! jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458 Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal ..... coche le séparateur de miliers ! [E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ; Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte ! Qd je saisis à la main 0,23 -> cela va a droite Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux ! Merci de vos luminosités Y
Philippe.R
Bonjour YannX, Tu veux bien, stp, ou bien répondre au dessus de la question, comme il en usage à priori ici, où bien n'en reprendre que le strict essentiel, de manière à rendre la réponse plus rapidement visible ? Ce serait bien agréable à un grand nombre d'habitués ;o))) -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"YannX" a écrit dans le message de news:
"YannX" a écrit dans le message de news:
Bnjr a tous,
J'accède a un graphe Excel créé par VB, donc en chargeant d'abord mes valeurs dans une feuille. Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs écrites dans la MSHFlexGrid avec un point décimal, correctement calculées avec VB, correctement enregistrées sous .MDB en DAO sont transmises à Excel en remplacant le point décimal (uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK) par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées : - charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) > Format(i * j + Rnd(4#), "000.0000") - ecriture DAO : tPoints!val = .TextMatrix(i,j) - ecriture dans Excel: .Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1)
le plus bizarre est que cette instruction traite correctement la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse" est rempli par un string de contenu exact : xRange.Value = " Point Eff." Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal, j'utilise dans le KeyPressed de mon MSHFlexGrid : SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon caractère décimal
Alors là ! Doit y avoir un piège dans un coin, mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = > Format(v,"00.00") = "0,23" -> XL.XP 2003 m'indique une coche verte et "le montant de cette cellule est au format texte " d'ailleurs cadré a gauche ! jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = > Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458 Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal ..... coche le séparateur de miliers ! [E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ; Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte ! Qd je saisis à la main 0,23 -> cela va a droite Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux ! Merci de vos luminosités Y
Bonjour YannX,
Tu veux bien, stp, ou bien répondre au dessus de la question, comme il en usage à priori ici, où bien
n'en reprendre que le strict essentiel, de manière à rendre la réponse plus rapidement visible ?
Ce serait bien agréable à un grand nombre d'habitués ;o)))
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"YannX" <ydx_nospam@yahoo.fr> a écrit dans le message de news: exVaAG70EHA.3408@tk2msftngp13.phx.gbl...
"YannX" <ydx_nospam@yahoo.fr> a écrit dans le message de
news:ulr6k150EHA.1300@TK2MSFTNGP14.phx.gbl...
Bnjr a tous,
J'accède a un graphe Excel créé par VB,
donc en chargeant d'abord mes valeurs dans une feuille.
Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs
écrites dans la MSHFlexGrid avec un point décimal,
correctement calculées avec VB,
correctement enregistrées sous .MDB en DAO
sont transmises à Excel en remplacant le point décimal
(uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK)
par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées :
- charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) > Format(i
* j + Rnd(4#), "000.0000")
- ecriture DAO : tPoints!val = .TextMatrix(i,j)
- ecriture dans Excel: .Range("C" & j + 1).Value = mGridO.TextMatrix(j,
1)
le plus bizarre est que cette instruction traite correctement
la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des
décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse"
est rempli par un string de contenu exact : xRange.Value = " Point Eff."
Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal,
j'utilise dans le KeyPressed de mon MSHFlexGrid :
SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon
caractère décimal
Alors là ! Doit y avoir un piège dans un coin,
mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci
Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = > Format(v,"00.00") = "0,23"
-> XL.XP 2003 m'indique une coche verte et
"le montant de cette cellule est au format texte " d'ailleurs
cadré a gauche !
jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = > Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458
Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal
..... coche le séparateur de miliers !
[E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre
commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ;
Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte !
Qd je saisis à la main 0,23 -> cela va a droite
Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel
concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux !
Merci de vos luminosités
Y
Bonjour YannX, Tu veux bien, stp, ou bien répondre au dessus de la question, comme il en usage à priori ici, où bien n'en reprendre que le strict essentiel, de manière à rendre la réponse plus rapidement visible ? Ce serait bien agréable à un grand nombre d'habitués ;o))) -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"YannX" a écrit dans le message de news:
"YannX" a écrit dans le message de news:
Bnjr a tous,
J'accède a un graphe Excel créé par VB, donc en chargeant d'abord mes valeurs dans une feuille. Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs écrites dans la MSHFlexGrid avec un point décimal, correctement calculées avec VB, correctement enregistrées sous .MDB en DAO sont transmises à Excel en remplacant le point décimal (uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK) par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées : - charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) > Format(i * j + Rnd(4#), "000.0000") - ecriture DAO : tPoints!val = .TextMatrix(i,j) - ecriture dans Excel: .Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1)
le plus bizarre est que cette instruction traite correctement la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse" est rempli par un string de contenu exact : xRange.Value = " Point Eff." Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal, j'utilise dans le KeyPressed de mon MSHFlexGrid : SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon caractère décimal
Alors là ! Doit y avoir un piège dans un coin, mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = > Format(v,"00.00") = "0,23" -> XL.XP 2003 m'indique une coche verte et "le montant de cette cellule est au format texte " d'ailleurs cadré a gauche ! jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = > Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458 Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal ..... coche le séparateur de miliers ! [E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ; Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte ! Qd je saisis à la main 0,23 -> cela va a droite Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux ! Merci de vos luminosités Y
YannX
Merci Ph. de ce rappel à l'ordre Désolé si j'ai parfois le réflexe Net.. qui préfère l'ordre chronologique. Ce qui me facilite la narration des symptômes ou pistes que j'entrevois.
Par contre l'ordre recommandé anti-chronologique rend effectivement plus facile la consultation rapide avec OE... je le constate depuis une semaine.
Bon WE YannX
"Philippe.R" a écrit dans le message de news:%
Bonjour YannX, Tu veux bien, stp, ou bien répondre au dessus de la question, comme il en usage à priori ici, où bien
n'en reprendre que le strict essentiel, de manière à rendre la réponse plus rapidement visible ?
Ce serait bien agréable à un grand nombre d'habitués ;o))) -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"YannX" a écrit dans le message de news:
"YannX" a écrit dans le message de news:
Bnjr a tous,
J'accède a un graphe Excel créé par VB, donc en chargeant d'abord mes valeurs dans une feuille. Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs écrites dans la MSHFlexGrid avec un point décimal, correctement calculées avec VB, correctement enregistrées sous .MDB en DAO sont transmises à Excel en remplacant le point décimal (uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK) par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées : - charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) > > Format(i * j + Rnd(4#), "000.0000") - ecriture DAO : tPoints!val = .TextMatrix(i,j) - ecriture dans Excel: .Range("C" & j + 1).Value mGridO.TextMatrix(j, 1)
le plus bizarre est que cette instruction traite correctement la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse" est rempli par un string de contenu exact : xRange.Value = " Point Eff."
Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal, j'utilise dans le KeyPressed de mon MSHFlexGrid : SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon caractère décimal
Alors là ! Doit y avoir un piège dans un coin, mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = > > Format(v,"00.00") = "0,23" -> XL.XP 2003 m'indique une coche verte et "le montant de cette cellule est au format texte " d'ailleurs cadré a gauche ! jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = > > Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458
Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal
..... coche le séparateur de miliers ! [E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre
commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ; Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte ! Qd je saisis à la main 0,23 -> cela va a droite Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux ! Merci de vos luminosités Y
Merci Ph. de ce rappel à l'ordre
Désolé si j'ai parfois le réflexe Net..
qui préfère l'ordre chronologique.
Ce qui me facilite la narration des symptômes
ou pistes que j'entrevois.
Par contre l'ordre recommandé anti-chronologique
rend effectivement plus facile la consultation rapide avec OE...
je le constate depuis une semaine.
Bon WE
YannX
"Philippe.R" <A_S_rauphil@wanadoo.fr> a écrit dans le message de
news:%23pPPtEI1EHA.2196@TK2MSFTNGP14.phx.gbl...
Bonjour YannX,
Tu veux bien, stp, ou bien répondre au dessus de la question, comme il en
usage à priori ici, où bien
n'en reprendre que le strict essentiel, de manière à rendre la réponse
plus rapidement visible ?
Ce serait bien agréable à un grand nombre d'habitués ;o)))
--
Amicales Salutations
XL 97 / 2000 / 2002
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"YannX" <ydx_nospam@yahoo.fr> a écrit dans le message de news:
exVaAG70EHA.3408@tk2msftngp13.phx.gbl...
"YannX" <ydx_nospam@yahoo.fr> a écrit dans le message de
news:ulr6k150EHA.1300@TK2MSFTNGP14.phx.gbl...
Bnjr a tous,
J'accède a un graphe Excel créé par VB,
donc en chargeant d'abord mes valeurs dans une feuille.
Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs
écrites dans la MSHFlexGrid avec un point décimal,
correctement calculées avec VB,
correctement enregistrées sous .MDB en DAO
sont transmises à Excel en remplacant le point décimal
(uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK)
par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées :
- charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) > > Format(i
* j + Rnd(4#), "000.0000")
- ecriture DAO : tPoints!val = .TextMatrix(i,j)
- ecriture dans Excel: .Range("C" & j + 1).Value mGridO.TextMatrix(j,
1)
le plus bizarre est que cette instruction traite correctement
la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des
décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse"
est rempli par un string de contenu exact : xRange.Value = " Point
Eff."
Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal,
j'utilise dans le KeyPressed de mon MSHFlexGrid :
SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon
caractère décimal
Alors là ! Doit y avoir un piège dans un coin,
mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci
Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = > > Format(v,"00.00") = "0,23"
-> XL.XP 2003 m'indique une coche verte et
"le montant de cette cellule est au format texte " d'ailleurs
cadré a gauche !
jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = > > Format(v,"00.000") = "4,458" -> confirmé par Debug.Print
v+3 ->7,458
Cette instruction bascule la cellule visée avec le format "Nombre 0
décimal
..... coche le séparateur de miliers !
[E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un
nombre
commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ;
Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte !
Qd je saisis à la main 0,23 -> cela va a droite
Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel
concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux !
Merci de vos luminosités
Y
Merci Ph. de ce rappel à l'ordre Désolé si j'ai parfois le réflexe Net.. qui préfère l'ordre chronologique. Ce qui me facilite la narration des symptômes ou pistes que j'entrevois.
Par contre l'ordre recommandé anti-chronologique rend effectivement plus facile la consultation rapide avec OE... je le constate depuis une semaine.
Bon WE YannX
"Philippe.R" a écrit dans le message de news:%
Bonjour YannX, Tu veux bien, stp, ou bien répondre au dessus de la question, comme il en usage à priori ici, où bien
n'en reprendre que le strict essentiel, de manière à rendre la réponse plus rapidement visible ?
Ce serait bien agréable à un grand nombre d'habitués ;o))) -- Amicales Salutations XL 97 / 2000 / 2002 Préférez suivre facilement sur le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"YannX" a écrit dans le message de news:
"YannX" a écrit dans le message de news:
Bnjr a tous,
J'accède a un graphe Excel créé par VB, donc en chargeant d'abord mes valeurs dans une feuille. Mais ce n'est pas de l'aspect graphique dont je m'inquiète..
Je viens de remarquer (tardivement ;-), que mes valeurs écrites dans la MSHFlexGrid avec un point décimal, correctement calculées avec VB, correctement enregistrées sous .MDB en DAO sont transmises à Excel en remplacant le point décimal (uniquement dans le cas de la colonne n°1 -en plus- les autres sont OK) par un espace (devenu séparateur de milliers) ! ! ! ! ! ! !
Et cela m'est confirmé par l'examen du format de cellule d'XL !
recapitulatif des instructions VB utilisées : - charger dans la MSFlexGrid : Form.grd_Pnts.TextMatrix(i, j) > > Format(i * j + Rnd(4#), "000.0000") - ecriture DAO : tPoints!val = .TextMatrix(i,j) - ecriture dans Excel: .Range("C" & j + 1).Value mGridO.TextMatrix(j, 1)
le plus bizarre est que cette instruction traite correctement la colonne 0, mal la colonne 1 (qui contiennent toutes 2 des décimaux...)
J'ai peut-etre une piste : l'entete de la colonne "défectueuse" est rempli par un string de contenu exact : xRange.Value = " Point Eff."
Mais mes tentatives en changeant cet entete ne changent pas l'erreur !
Question : ou est mon bug ! ! ! ! ! ! ! !
Une info supplémentaire : pour récupérer le caractère décimal, j'utilise dans le KeyPressed de mon MSHFlexGrid : SymboleDecimal = Format(0, ".") ' astuce pour récuperer le bon caractère décimal
Alors là ! Doit y avoir un piège dans un coin, mais pouvez-vous m'indiquer une piste ?
Bouc -> chèvre -> vache......Perette Merci Y
Pas de doute : deux instructions identiques : ici j=3
jXL.Range("b" & j + 1).Value = mGridO.TextMatrix(j, 0) ' = > > Format(v,"00.00") = "0,23" -> XL.XP 2003 m'indique une coche verte et "le montant de cette cellule est au format texte " d'ailleurs cadré a gauche ! jXL.Range("C" & j + 1).Value = mGridO.TextMatrix(j, 1) ' = > > Format(v,"00.000") = "4,458" -> confirmé par Debug.Print v+3 ->7,458
Cette instruction bascule la cellule visée avec le format "Nombre 0 décimal
..... coche le séparateur de miliers ! [E3] Ã+3 => 4461
Seule une case B8 apparait en format numérique, étant rempli avec un nombre
commencant par un chiffre significatif !
J'ai aussi teste avec une version XL 2000 ; Mes valeurs 0,23 sont écrites cadréees a GAUCHE -> c'est du texte ! Qd je saisis à la main 0,23 -> cela va a droite Qd je saisis à la main 0.23 -> cela va a gauche
Le problème viendrait d'une incohérence entre VB et excel concernant le traitement du séparateur décimal ?
Que n'ai-je pas vu avec mes gros yeux ! Merci de vos luminosités Y
Philippe.R
"YannX" a écrit dans le message de news:
Merci Ph. de ce rappel à l'ordre
C'était avec plaisir ! ;o)))))
"YannX" <ydx_nospam@yahoo.fr> a écrit dans le message de news: ewTocSJ1EHA.1292@TK2MSFTNGP10.phx.gbl...