Discussion:
Afficher le resultat au lieu de la formule. How to?
(trop ancien pour répondre)
iroc-z
2005-06-02 07:47:10 UTC
Permalink
Bonjour a tous,

J'ai le tit probleme suivant:
un vba me renseigne des cellules et au lieu de m'afficher le resultat, i
lm'affiche ma formule. J'ai essaye les differentes possibilites mais sans
succes.

Range("G" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!L71C6"

Range("G" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!F71"

Range("G" & i + 3).FormulaR1C1 = "= '" & NomFic & i &
".xls]PREPARATION'!L71C6"

mais a chaque fois, il m'affiche ma chaine concatenee du type :
= '\\AMS-RH-PC4\DOSSIER RESEAU\DEVIS\05 MAI 2005\[DEVIS
0505_2.xls]PREPARATION'!'L71C6'

et non la valeur contenu ligne 71 col 6 de la feuille PREPARATION du fichier
devis 0505_2.xls

Quelqu'un sait il pourquoi? Je ne sais pas trop quelle propriete adopter:
formulaR1C1, formula, ou autre?

Please help me!

Merci bcp de votre sollicitude.
Bonne journee a toutes et tous.
e***@exefac.com
2005-06-02 08:43:10 UTC
Permalink
Bonjour,
Il y un problème dans la syntaxe de l'adresse au niveau des cotes ( '
)
Par exemple l'adresse est + conforme !
= '\\Ntsncqualitex\PN\[Mip dépassement.xls]Feuil1'!$A$4
elle est obtenu avec la syntaxe
nomfic = "'\\Ntsncqualitex\PN\[Mip dépassement.xls"
Range("E18").Formula = "= " & nomfic & "]Feuil1'!A4"

Avec Formula (quelquesoit l'affichage dans la feuille Excel), il faudre
utilise dans vba des adresse de type A1

Philippe NOSS
www.exefac.com
iroc-z
2005-06-02 09:16:01 UTC
Permalink
Bonjour Phillipe,

ok pour l'adressage, mais si je met
Range("B4").Formula = "= '" & NomFic & i & ".xls]SUIVI'!B3"

La chaine construite est bien
= '\\AMS-RH-PC4\DOSSIER RESEAU\DEVIS\05 MAI 2005\[DEVIS 0505_1.xls]SUIVI'!B3

et du coup ya pas d'erreur au niveau de la syntaxe (ou je ne t'ai pas
compris ;-)) mais ma cellule n'affiche tjs pas le resultat, elle affiche la
formule.

j'ai regarde au niveau des Options mais je n'ai rien trouve.

j'avoue ne plus trop savoir quoi faire.
J'ai fait un autre test en utilisant l'enregistreur de macro:

Sub Macro1()
Sheets("Mars").Select
Range("D9").Select
Selection.Copy
Sheets("Mai").Select
Range("D7").Select
ActiveSheet.Paste
End Sub

Sub Macro2()
Range("D10").Select
ActiveCell.FormulaR1C1 = _
"='\\Ams-rh-pc1\shareddocs\Documents and
Settings\Pierre\Bureau\copie reseau 120305\Devis\05 Mai 2005\[DEVIS
0503_6.xls]DEVIS'!L16C5"
End Sub

et bien en D7 j'ai ma valeur, en D10 ma formule affichee.
qd tu selectionne tour a tour les 2 cellules et que tu regarde la
formule.......c'est les memes!!

un truc de ouf qd meme non?
Post by e***@exefac.com
Bonjour,
Il y un problème dans la syntaxe de l'adresse au niveau des cotes ( '
)
Par exemple l'adresse est + conforme !
= '\\Ntsncqualitex\PN\[Mip dépassement.xls]Feuil1'!$A$4
elle est obtenu avec la syntaxe
nomfic = "'\\Ntsncqualitex\PN\[Mip dépassement.xls"
Range("E18").Formula = "= " & nomfic & "]Feuil1'!A4"
Avec Formula (quelquesoit l'affichage dans la feuille Excel), il faudre
utilise dans vba des adresse de type A1
Philippe NOSS
www.exefac.com
e***@exefac.com
2005-06-02 09:52:48 UTC
Permalink
chez mois ca marche bien !
Quelques pistes
Quel est ta version d'excel ?

quand j'utlise l'enregisteur de macro, j'ai pour une reférence
relative
Range("E17").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip
dépassement.xls]Feuil1'!R[-13]C[-4]"
et pour un adresse en reférence absolue
Range("E18").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip dépassement.xls]Feuil1'!R4C1"

la formule de la cellule remplie par macro est il vraiement identique
que celui d'une cellule saisie ?

Tu peux faire le test suivant :
Declencher l'enregisteur maco
selectionner la cellule qui affiche la formule et non la valeur
cliquer sur la barre de formule, puis faire entrée (pour simuler une
saisie)
regarder le resultat dans la feuille Excel et dans VBa

Refaire le meme test avec une celulle qui affiche le resultat et non la
formule

A +
Philippe NOSS
iroc-z
2005-06-02 11:36:02 UTC
Permalink
pas mieux.

meme chose que tout a l'heure. la formule reste formule.

et les formules sont identiques strictement! C'est a n'y rien comprendre!

C'est pourtant sous Excel 2003
Post by e***@exefac.com
chez mois ca marche bien !
Quelques pistes
Quel est ta version d'excel ?
quand j'utlise l'enregisteur de macro, j'ai pour une reférence
relative
Range("E17").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip
dépassement.xls]Feuil1'!R[-13]C[-4]"
et pour un adresse en reférence absolue
Range("E18").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip dépassement.xls]Feuil1'!R4C1"
la formule de la cellule remplie par macro est il vraiement identique
que celui d'une cellule saisie ?
Declencher l'enregisteur maco
selectionner la cellule qui affiche la formule et non la valeur
cliquer sur la barre de formule, puis faire entrée (pour simuler une
saisie)
regarder le resultat dans la feuille Excel et dans VBa
Refaire le meme test avec une celulle qui affiche le resultat et non la
formule
A +
Philippe NOSS
papou
2005-06-02 12:05:38 UTC
Permalink
Bonjour
Pour aller au plus vite et au plus simple, un conseil :
Enregistre une macro en inscrivant la formule qui fait référence à ton
classeur (en ayant ouvert ton classeur au préalable bien entendu)
Et regarde ce qui a été inscrit et réutilise la syntaxe dans ta macro
d'origine.
Cordialement
Pascal
Post by iroc-z
pas mieux.
meme chose que tout a l'heure. la formule reste formule.
et les formules sont identiques strictement! C'est a n'y rien comprendre!
C'est pourtant sous Excel 2003
Post by e***@exefac.com
chez mois ca marche bien !
Quelques pistes
Quel est ta version d'excel ?
quand j'utlise l'enregisteur de macro, j'ai pour une reférence
relative
Range("E17").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip
dépassement.xls]Feuil1'!R[-13]C[-4]"
et pour un adresse en reférence absolue
Range("E18").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip dépassement.xls]Feuil1'!R4C1"
la formule de la cellule remplie par macro est il vraiement identique
que celui d'une cellule saisie ?
Declencher l'enregisteur maco
selectionner la cellule qui affiche la formule et non la valeur
cliquer sur la barre de formule, puis faire entrée (pour simuler une
saisie)
regarder le resultat dans la feuille Excel et dans VBa
Refaire le meme test avec une celulle qui affiche le resultat et non la
formule
A +
Philippe NOSS
iroc-z
2005-06-02 13:26:02 UTC
Permalink
bonjour,

Ty pense bien que c'est ce que j'ai essaye en premier......;-)

Encore plus fort:

ds le meme classeur, je vais sur une autre feuille, je clique sur une
cellule, je surligne la formule ds la barre de formule je fais Ctrl+c puis
Enter pour simuler une saisie, j'ai tjs ma valeur et non la formule
d'affichee. Je retourne ds mon autre feuille, je clique sur une cellule, je
fait Ctrl+v pour copier ds la barre de formule, je press Enter, en bein j'ai
pas ma valeur!!!!!! je n'ai que la formule d'affichee!!!!

A s'arracher les cheveuxm j'vous dit!!!! ;-)
Post by iroc-z
Bonjour
Enregistre une macro en inscrivant la formule qui fait référence à ton
classeur (en ayant ouvert ton classeur au préalable bien entendu)
Et regarde ce qui a été inscrit et réutilise la syntaxe dans ta macro
d'origine.
Cordialement
Pascal
Post by iroc-z
pas mieux.
meme chose que tout a l'heure. la formule reste formule.
et les formules sont identiques strictement! C'est a n'y rien comprendre!
C'est pourtant sous Excel 2003
Post by e***@exefac.com
chez mois ca marche bien !
Quelques pistes
Quel est ta version d'excel ?
quand j'utlise l'enregisteur de macro, j'ai pour une reférence
relative
Range("E17").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip
dépassement.xls]Feuil1'!R[-13]C[-4]"
et pour un adresse en reférence absolue
Range("E18").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip dépassement.xls]Feuil1'!R4C1"
la formule de la cellule remplie par macro est il vraiement identique
que celui d'une cellule saisie ?
Declencher l'enregisteur maco
selectionner la cellule qui affiche la formule et non la valeur
cliquer sur la barre de formule, puis faire entrée (pour simuler une
saisie)
regarder le resultat dans la feuille Excel et dans VBa
Refaire le meme test avec une celulle qui affiche le resultat et non la
formule
A +
Philippe NOSS
isabelle
2005-06-02 13:46:15 UTC
Permalink
bonjour iroc-z,

j'ai testé cette syntaxe et tout est correct, mais attention de ne pas
mettre d'espasce entre = et '

fichier = "C:\Documents and Settings\Administrateur\Mes
documents\[Classeur4"
ActiveCell.FormulaR1C1 = "='" & fichier & ".xls]Feuil6'!R1C1"

isabelle
Post by iroc-z
bonjour,
Ty pense bien que c'est ce que j'ai essaye en premier......;-)
ds le meme classeur, je vais sur une autre feuille, je clique sur une
cellule, je surligne la formule ds la barre de formule je fais Ctrl+c puis
Enter pour simuler une saisie, j'ai tjs ma valeur et non la formule
d'affichee. Je retourne ds mon autre feuille, je clique sur une cellule, je
fait Ctrl+v pour copier ds la barre de formule, je press Enter, en bein j'ai
pas ma valeur!!!!!! je n'ai que la formule d'affichee!!!!
A s'arracher les cheveuxm j'vous dit!!!! ;-)
Post by iroc-z
Bonjour
Enregistre une macro en inscrivant la formule qui fait référence à ton
classeur (en ayant ouvert ton classeur au préalable bien entendu)
Et regarde ce qui a été inscrit et réutilise la syntaxe dans ta macro
d'origine.
Cordialement
Pascal
Post by iroc-z
pas mieux.
meme chose que tout a l'heure. la formule reste formule.
et les formules sont identiques strictement! C'est a n'y rien comprendre!
C'est pourtant sous Excel 2003
Post by e***@exefac.com
chez mois ca marche bien !
Quelques pistes
Quel est ta version d'excel ?
quand j'utlise l'enregisteur de macro, j'ai pour une reférence
relative
Range("E17").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip
dépassement.xls]Feuil1'!R[-13]C[-4]"
et pour un adresse en reférence absolue
Range("E18").Select
ActiveCell.FormulaR1C1 = _
"= '\\Ntsncqualitex\PN\[Mip dépassement.xls]Feuil1'!R4C1"
la formule de la cellule remplie par macro est il vraiement identique
que celui d'une cellule saisie ?
Declencher l'enregisteur maco
selectionner la cellule qui affiche la formule et non la valeur
cliquer sur la barre de formule, puis faire entrée (pour simuler une
saisie)
regarder le resultat dans la feuille Excel et dans VBa
Refaire le meme test avec une celulle qui affiche le resultat et non la
formule
A +
Philippe NOSS
Alain CROS
2005-06-02 13:51:54 UTC
Permalink
Bonjour.

Peut être dans Outils Options... Affichage Fenêtres décoché Formule

Alain CROS

"iroc-z" <***@discussions.microsoft.com> a écrit dans le message de news: 4FF26A31-D1C5-4C05-B53B-***@microsoft.com...
| bonjour,
|
| Ty pense bien que c'est ce que j'ai essaye en premier......;-)
|
| Encore plus fort:
|
| ds le meme classeur, je vais sur une autre feuille, je clique sur une
| cellule, je surligne la formule ds la barre de formule je fais Ctrl+c puis
| Enter pour simuler une saisie, j'ai tjs ma valeur et non la formule
| d'affichee. Je retourne ds mon autre feuille, je clique sur une cellule, je
| fait Ctrl+v pour copier ds la barre de formule, je press Enter, en bein j'ai
| pas ma valeur!!!!!! je n'ai que la formule d'affichee!!!!
|
| A s'arracher les cheveuxm j'vous dit!!!! ;-)
Philippe Noss
2005-06-02 20:31:45 UTC
Permalink
c'estr une histoire de fou, 'est comme si la cellule avait un format
particulier !

Envoi moi le classeur, si c'est possible...
à philippe.noss ....
@cegetel.net
Modeste
2005-06-02 21:11:54 UTC
Permalink
Post by Philippe Noss
c'estr une histoire de fou, 'est comme si la cellule avait un format
particulier !
c'est certainement le cas !!! : format @
selectionner la colonne ou se trouve le probleme
Menu Données> Convertir
à l'étape 3 choisir le type Standard !!!
@+
Philippe Noss
2005-06-04 13:02:43 UTC
Permalink
Le problème est il résolu ?
Sinon, il y a peut etre une solution pour arriver au meme resultat
d'une autre facon.
Man expérience d'informaticien pragmatique mais pas génial me fait
dire qu'il faut parfois passer par la fenetre quand on arrive pas à
ouvrir la porte !
iroc-z
2005-06-06 06:37:11 UTC
Permalink
Bonjour a tous,
et deja un grand merci pour vos reponses.

J'ai pas mal creuse de mon cote, et voila ou j'en suis:

le code:
' Type d'affaire
Range("A" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!C82"
' Client
Range("B" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!E1"
' Departement
Range("C" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!C4"
' Interlocuteur
Range("D" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!F6"
' Affaire
Range("E" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!B5"
' Lieu
Range("F" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!B7"
' Chiffre Affaire
Range("G" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!F71"
' Marge
Range("H" & i + 3).Formula = "= '" & NomFic & i & ".xls]DEBOURS
PREVISIONNEL'!M100"

Alors voila ce qu'il se passe:
lorsque j'execute ma macro tout se passe bien dans le sens ou je n'ai pas
d'erreur d'execution. En revenche les cellules remplies, ne le sont pas avec
les valeurs mais avec les formules......SAUF pour le departement, le CA et la
marge ainsi que d'autres infos pour lesquelles je n'ai pas insere le code ds
ce post.
le dpt est stocke sous forme de nbre ainsi que le CA et la marge. Si la
cellule contient une chaine, j'ai aussi ma chaine. En revenche si ma cellule
contient une formule, la, je suis banane! Vous allez me dire que c'est ce qui
est explique ds la desription de la propriete .Formula . Certes, mais comment
fait on alors pour executer cette formule et avoir le resultat? Doit on
executer un truc du genre .execute ou . calculate (j'ai pas encore creuse) ?
Post by Philippe Noss
Le problème est il résolu ?
Sinon, il y a peut etre une solution pour arriver au meme resultat
d'une autre facon.
Man expérience d'informaticien pragmatique mais pas génial me fait
dire qu'il faut parfois passer par la fenetre quand on arrive pas à
ouvrir la porte !
iroc-z
2005-06-06 07:58:03 UTC
Permalink
J'AI TROUVE !!!!!!!!!!!!!!!!!!!!!

En fait, je n'etais pas loin.
Encore faut il que j'arrive a retranscrire en VBA ce que je fais a la main.
(non, l'enregistreur de macro peut pas m'aider!)

en fait, quand j'insere ma nouvelle ligne, mes cellules n'ont pas le type
"standard" par defaut, elles sont en "texte" par defaut.

Donc pour les passer en "standard" c'est pas dur. Suite a ca, il faut que je
trouve la fonction associe au petit truc vert dans la barre de formule. Vous
savez, qd vous cliquez sur une cellule contenant une formule, vous avez, a
gauche du "fx" une tite croix rouge et un tit "v" vert. Ben faut que trouve
la fonction associe a ce tit "v" vert.

Voila......!
Post by iroc-z
Bonjour a tous,
et deja un grand merci pour vos reponses.
' Type d'affaire
Range("A" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!C82"
' Client
Range("B" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!E1"
' Departement
Range("C" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!C4"
' Interlocuteur
Range("D" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!F6"
' Affaire
Range("E" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!B5"
' Lieu
Range("F" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!B7"
' Chiffre Affaire
Range("G" & i + 3).Formula = "= '" & NomFic & i & ".xls]PREPARATION'!F71"
' Marge
Range("H" & i + 3).Formula = "= '" & NomFic & i & ".xls]DEBOURS
PREVISIONNEL'!M100"
lorsque j'execute ma macro tout se passe bien dans le sens ou je n'ai pas
d'erreur d'execution. En revenche les cellules remplies, ne le sont pas avec
les valeurs mais avec les formules......SAUF pour le departement, le CA et la
marge ainsi que d'autres infos pour lesquelles je n'ai pas insere le code ds
ce post.
le dpt est stocke sous forme de nbre ainsi que le CA et la marge. Si la
cellule contient une chaine, j'ai aussi ma chaine. En revenche si ma cellule
contient une formule, la, je suis banane! Vous allez me dire que c'est ce qui
est explique ds la desription de la propriete .Formula . Certes, mais comment
fait on alors pour executer cette formule et avoir le resultat? Doit on
executer un truc du genre .execute ou . calculate (j'ai pas encore creuse) ?
Post by Philippe Noss
Le problème est il résolu ?
Sinon, il y a peut etre une solution pour arriver au meme resultat
d'une autre facon.
Man expérience d'informaticien pragmatique mais pas génial me fait
dire qu'il faut parfois passer par la fenetre quand on arrive pas à
ouvrir la porte !
rick
2005-06-06 09:12:45 UTC
Permalink
Post by iroc-z
J'AI TROUVE !!!!!!!!!!!!!!!!!!!!!
4 jours aprés que la réponse ai été fournie ! ;o)))
http://minilien.com/?J50uzpsIle

HEU !!!!!!
un pseudo ne fait pas le moine !
;o)))

® © ¿
Modeste
2005-06-06 09:21:58 UTC
Permalink
Post by iroc-z
J'AI TROUVE !!!!!!!!!!!!!!!!!!!!!
../..
(non, l'enregistreur de macro peut pas m'aider!)
../..
HEU !!!
Sub Macro3()
' --------Macro enregistrée le 06/06/2005 par ® © ¿
' --------la colonne C est supposée contenir les informations au format
Texte
Columns("C:C").Select
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited,
_
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False,
Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False,
FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
' --------pour le Array(1,1) le second 1 correspond au format standard !!!
End Sub

iroc-z
2005-06-06 07:59:17 UTC
Permalink
Encore une fois, un grand merci a tout le monde pour l'aide apporte.
iroc-z
2005-06-06 07:14:03 UTC
Permalink
;-)

J'ai un peu la meme philosophie formulee differemment.
" Quand ca ne marche pas dans un sens, essaie dans l'autre"
Et le plus drole, c'est que ca s'applique a tout: informatique, mecanique,
bricolage, strategie....tout quoi! enfin jusqu'a maintenant.
Post by Philippe Noss
Le problème est il résolu ?
Sinon, il y a peut etre une solution pour arriver au meme resultat
d'une autre facon.
Man expérience d'informaticien pragmatique mais pas génial me fait
dire qu'il faut parfois passer par la fenetre quand on arrive pas à
ouvrir la porte !
iroc-z
2005-06-06 06:46:01 UTC
Permalink
Bonjour,

j'ai bien l'option de decochee.
Post by Alain CROS
Bonjour.
Peut être dans Outils Options... Affichage Fenêtres décoché Formule
Alain CROS
| bonjour,
|
| Ty pense bien que c'est ce que j'ai essaye en premier......;-)
|
|
| ds le meme classeur, je vais sur une autre feuille, je clique sur une
| cellule, je surligne la formule ds la barre de formule je fais Ctrl+c puis
| Enter pour simuler une saisie, j'ai tjs ma valeur et non la formule
| d'affichee. Je retourne ds mon autre feuille, je clique sur une cellule, je
| fait Ctrl+v pour copier ds la barre de formule, je press Enter, en bein j'ai
| pas ma valeur!!!!!! je n'ai que la formule d'affichee!!!!
|
| A s'arracher les cheveuxm j'vous dit!!!! ;-)
Philippe Noss
2005-06-06 08:51:01 UTC
Permalink
Je m'y perd un peu car j'arrive pas à reproduire le problème !
j'ai une valeur dans tous les cas !
Peut etre la question qu'il faut se poser c'est pourquoi utiliser
"formula",
et quelle est le but de la macro.
Si c'est pour pour recupérer les valeurs d'un autre classeur, pourquoi
ne pas utiliser value ...
A +
Loading...