begin process at 2012 02 17 11:47:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

ActiveCell.FormulaR1C1


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ActiveCell.FormulaR1C1

mardi 25 février 2003 à 14:00:15 | ActiveCell.FormulaR1C1

Geraldine

Bonjour,

Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?

Le chemin a été définit auparavant.
Le code ouvre tous les fichiers d'un répertoire donné.

Mon code :

Sub Macro1()
'
Dim sFichier As String
Workbooks.Add
ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
sFichier = Dir("*.xls")
Do Until sFichier = "1001008.xls"
Workbooks.Open (sFichier)
'
'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"

'
ActiveWorkbook.Close
sFichier = Dir()
Loop
End Sub


Je vous remercie par avance de vos réponses.
jeudi 27 février 2003 à 11:39:31 | Re : ActiveCell.FormulaR1C1

LeDesassembleur

L'astuce est la concatenation de ta formule !

-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
>
> Le chemin a été définit auparavant.
> Le code ouvre tous les fichiers d'un répertoire donné.
>
> Mon code :
>
> Sub Macro1()
> '
> Dim sFichier As String
> Workbooks.Add
> ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> sFichier = Dir("*.xls")
> Do Until sFichier = "1001008.xls"
> Workbooks.Open (sFichier)
> '
> 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
>
> '
> ActiveWorkbook.Close
> sFichier = Dir()
> Loop
> End Sub
>
>
> Je vous remercie par avance de vos réponses.
>
jeudi 27 février 2003 à 11:45:03 | Re : ActiveCell.FormulaR1C1

Geraldine

C'est à dire ????



-------------------------------
Réponse au message :
-------------------------------

> L'astuce est la concatenation de ta formule !
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
> >
> > Le chemin a été définit auparavant.
> > Le code ouvre tous les fichiers d'un répertoire donné.
> >
> > Mon code :
> >
> > Sub Macro1()
> > '
> > Dim sFichier As String
> > Workbooks.Add
> > ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> > sFichier = Dir("*.xls")
> > Do Until sFichier = "1001008.xls"
> > Workbooks.Open (sFichier)
> > '
> > 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
> >
> > '
> > ActiveWorkbook.Close
> > sFichier = Dir()
> > Loop
> > End Sub
> >
> >
> > Je vous remercie par avance de vos réponses.
> >
>
jeudi 27 février 2003 à 12:00:01 | Re : ActiveCell.FormulaR1C1

Geraldine


C'est à dire ????


-------------------------------
Réponse au message :
-------------------------------

> L'astuce est la concatenation de ta formule !
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
> >
> > Le chemin a été définit auparavant.
> > Le code ouvre tous les fichiers d'un répertoire donné.
> >
> > Mon code :
> >
> > Sub Macro1()
> > '
> > Dim sFichier As String
> > Workbooks.Add
> > ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> > sFichier = Dir("*.xls")
> > Do Until sFichier = "1001008.xls"
> > Workbooks.Open (sFichier)
> > '
> > 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
> >
> > '
> > ActiveWorkbook.Close
> > sFichier = Dir()
> > Loop
> > End Sub
> >
> >
> > Je vous remercie par avance de vos réponses.
> >
>
jeudi 27 février 2003 à 13:45:49 | Re : ActiveCell.FormulaR1C1

LeDesassembleur

Bonjour Géraldine,

Effectivement, je n'ai pas été très "explicite" dans mon comentaire mais j'ai été interrompu ce matin alors que j ete répondais... Désolé.

J'espere avoir compris ce que tu demandais ;-)

Ce que je voulais dire :
As-tu essayé de mettre le nom de ton fichier dans une variable du style Nomfichier
puis de taper :
ActiveCell.FormulaR1C1 = "=RIGHT([" & nomfichier & "]Feuil1!R6C1,10)"

sinon, essaie de passer une premiere fois dans ton fichier 1001004.xls, enregistre la formule dans une variable, puis restitue la pour chacun des fichiers que tu ouvres par la suite (sans avoir à la retaper ;-)

Est-ce que j'ai répondu ou suis-je à côté?
si je suis à côté, peux-tu m'expliquer d'avantage ce que tu compte faire?

Cordialement

-------------------------------
Réponse au message :
-------------------------------

>
> C'est à dire ????
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > L'astuce est la concatenation de ta formule !
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > >
> > > Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
> > >
> > > Le chemin a été définit auparavant.
> > > Le code ouvre tous les fichiers d'un répertoire donné.
> > >
> > > Mon code :
> > >
> > > Sub Macro1()
> > > '
> > > Dim sFichier As String
> > > Workbooks.Add
> > > ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> > > sFichier = Dir("*.xls")
> > > Do Until sFichier = "1001008.xls"
> > > Workbooks.Open (sFichier)
> > > '
> > > 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
> > >
> > > '
> > > ActiveWorkbook.Close
> > > sFichier = Dir()
> > > Loop
> > > End Sub
> > >
> > >
> > > Je vous remercie par avance de vos réponses.
> > >
> >
>
jeudi 27 février 2003 à 15:28:39 | Re : ActiveCell.FormulaR1C1

Geraldine

Salut,

Merci pour le coup de main, mais effectivement je crois que mon souci est plus complexe.

1) Mettre mon fichier dans une variable (NomFichier) veut dire que je n'ai qu'un fichier dans ma variable. (Sauf erreur, je débute dans Visual Basic)

2) Si j'enregistre la formule dans une variable, dans ma formule il y a toujours le nom du fichier qui va changer, donc ???

Explication de mon souci :
J'ai environ 500 fichiers .xls de base qui ont la même structure. (C'est à dire, par exemple, la date se situe toujours en A6 mais ce n'est pas forcément la même date pour tous les fichiers).

Je souhaite par Visual Basic, obtenir un fichier .xls avec uniquement quelques cellules de mes fichiers de base.

Par exemple, on veut récupérer :

- la partie droite de la cellule A6 du 1001004.xls vers A1 du NouveauFichier.xls
- cellule D9 du 1001004.xls vers B1 du NouveauFichier.xls

- la partie droite de la cellule A6 du 1001005.xls vers A2 du NouveauFichier.xls
- cellule D9 du 1001005.xls vers B2 du NouveauFichier.xls

Etc..... pour tous les fichiers de Base (de 1001004.xls : 1001999.xls)

J'espère avoir été un peu plus claire.

Merci d'avance.
A+
Géraldine


-------------------------------
Réponse au message :
-------------------------------

> Bonjour Géraldine,
>
> Effectivement, je n'ai pas été très "explicite" dans mon comentaire mais j'ai été interrompu ce matin alors que j ete répondais... Désolé.
>
> J'espere avoir compris ce que tu demandais ;-)
>
> Ce que je voulais dire :
> As-tu essayé de mettre le nom de ton fichier dans une variable du style Nomfichier
> puis de taper :
> ActiveCell.FormulaR1C1 = "=RIGHT([" & nomfichier & "]Feuil1!R6C1,10)"
>
> sinon, essaie de passer une premiere fois dans ton fichier 1001004.xls, enregistre la formule dans une variable, puis restitue la pour chacun des fichiers que tu ouvres par la suite (sans avoir à la retaper ;-)
>
> Est-ce que j'ai répondu ou suis-je à côté?
> si je suis à côté, peux-tu m'expliquer d'avantage ce que tu compte faire?
>
> Cordialement
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > C'est à dire ????
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > L'astuce est la concatenation de ta formule !
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Bonjour,
> > > >
> > > > Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
> > > >
> > > > Le chemin a été définit auparavant.
> > > > Le code ouvre tous les fichiers d'un répertoire donné.
> > > >
> > > > Mon code :
> > > >
> > > > Sub Macro1()
> > > > '
> > > > Dim sFichier As String
> > > > Workbooks.Add
> > > > ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> > > > sFichier = Dir("*.xls")
> > > > Do Until sFichier = "1001008.xls"
> > > > Workbooks.Open (sFichier)
> > > > '
> > > > 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
> > > >
> > > > '
> > > > ActiveWorkbook.Close
> > > > sFichier = Dir()
> > > > Loop
> > > > End Sub
> > > >
> > > >
> > > > Je vous remercie par avance de vos réponses.
> > > >
> > >
> >
>
jeudi 27 février 2003 à 16:31:42 | Re : ActiveCell.FormulaR1C1

LeDesassembleur


Salut Géraldine

Effectivement, c'etait un peu plus complexe que ce à quoi je m'attendais.
Il n'empeche que je te propose une solution :

Tu crée un fichier (ici resultat.xls) dans lequel tu colle cete macro

tu place ce fichier dans le repertoire ou sont tous les autres fichiers excel et tu lance la macro.

Celle ci se contente d'ouvrir tout les fichiers excel presents (tu peux affiner à souhait si tu le désires, en donnant des criteres de noms) et enregistre dans un tableau en mémoire les valeurs des cases A6 (les 10 caracteres de droite) et D9
Une fois tous les fichiers parcourus, elle restitue les valeurs engrangées dans le fichier resultat...

Tiensmoi au courant si ça te va ;-)

A +

Le Desassembleur (alias Bertrand)

Sub Macro1()
'

Dim tableau_tempo(2, 1000)
Dim sFichier As String
boucle = 0

With Application.FileSearch
If .Execute() > 0 Then
MsgBox "There were " & .FoundFiles.Count & _
" file(s) found."
For i = 1 To .FoundFiles.Count
If Right(.FoundFiles(i), 3) = "xls" And Right(.FoundFiles(i), 12) <> "resultat.xls" Then
Workbooks.Open Filename:=.FoundFiles(i)
boucle = boucle + 1
Range("A6").Select
tableau_tempo(1, boucle) = Right(ActiveCell.Value, 10)
Range("D9").Select
tableau_tempo(2, boucle) = ActiveCell.Value
ActiveWorkbook.Close

End If
Next i
Else
MsgBox "There were no files found."
End If

End With

Range("A1").Select
For boucle = 1 To 1000
ActiveCell.Value = tableau_tempo(1, boucle)
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = tableau_tempo(2, boucle)
ActiveCell.Offset(1, -1).Select
Next boucle
'(bien sûr, tu paux ajouter une condition du style si contenu vide alors je passe...)

End Sub



Il y a certainement moyen de faire plus court mais en tout cas ça fonctionne.





-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> Merci pour le coup de main, mais effectivement je crois que mon souci est plus complexe.
>
> 1) Mettre mon fichier dans une variable (NomFichier) veut dire que je n'ai qu'un fichier dans ma variable. (Sauf erreur, je débute dans Visual Basic)
>
> 2) Si j'enregistre la formule dans une variable, dans ma formule il y a toujours le nom du fichier qui va changer, donc ???
>
> Explication de mon souci :
> J'ai environ 500 fichiers .xls de base qui ont la même structure. (C'est à dire, par exemple, la date se situe toujours en A6 mais ce n'est pas forcément la même date pour tous les fichiers).
>
> Je souhaite par Visual Basic, obtenir un fichier .xls avec uniquement quelques cellules de mes fichiers de base.
>
> Par exemple, on veut récupérer :
>
> - la partie droite de la cellule A6 du 1001004.xls vers A1 du NouveauFichier.xls
> - cellule D9 du 1001004.xls vers B1 du NouveauFichier.xls
>
> - la partie droite de la cellule A6 du 1001005.xls vers A2 du NouveauFichier.xls
> - cellule D9 du 1001005.xls vers B2 du NouveauFichier.xls
>
> Etc..... pour tous les fichiers de Base (de 1001004.xls : 1001999.xls)
>
> J'espère avoir été un peu plus claire.
>
> Merci d'avance.
> A+
> Géraldine
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour Géraldine,
> >
> > Effectivement, je n'ai pas été très "explicite" dans mon comentaire mais j'ai été interrompu ce matin alors que j ete répondais... Désolé.
> >
> > J'espere avoir compris ce que tu demandais ;-)
> >
> > Ce que je voulais dire :
> > As-tu essayé de mettre le nom de ton fichier dans une variable du style Nomfichier
> > puis de taper :
> > ActiveCell.FormulaR1C1 = "=RIGHT([" & nomfichier & "]Feuil1!R6C1,10)"
> >
> > sinon, essaie de passer une premiere fois dans ton fichier 1001004.xls, enregistre la formule dans une variable, puis restitue la pour chacun des fichiers que tu ouvres par la suite (sans avoir à la retaper ;-)
> >
> > Est-ce que j'ai répondu ou suis-je à côté?
> > si je suis à côté, peux-tu m'expliquer d'avantage ce que tu compte faire?
> >
> > Cordialement
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > C'est à dire ????
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > L'astuce est la concatenation de ta formule !
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour,
> > > > >
> > > > > Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
> > > > >
> > > > > Le chemin a été définit auparavant.
> > > > > Le code ouvre tous les fichiers d'un répertoire donné.
> > > > >
> > > > > Mon code :
> > > > >
> > > > > Sub Macro1()
> > > > > '
> > > > > Dim sFichier As String
> > > > > Workbooks.Add
> > > > > ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> > > > > sFichier = Dir("*.xls")
> > > > > Do Until sFichier = "1001008.xls"
> > > > > Workbooks.Open (sFichier)
> > > > > '
> > > > > 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
> > > > >
> > > > > '
> > > > > ActiveWorkbook.Close
> > > > > sFichier = Dir()
> > > > > Loop
> > > > > End Sub
> > > > >
> > > > >
> > > > > Je vous remercie par avance de vos réponses.
> > > > >
> > > >
> > >
> >
>
mercredi 5 mars 2003 à 15:47:41 | Re : ActiveCell.FormulaR1C1

LeDesassembleur




Juste une question : As-tu testé ce que je t'avais répondu?
(pour savoir si ca cole avec ce dont tu avais besoin?)

A+
-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> Merci pour le coup de main, mais effectivement je crois que mon souci est plus complexe.
>
> 1) Mettre mon fichier dans une variable (NomFichier) veut dire que je n'ai qu'un fichier dans ma variable. (Sauf erreur, je débute dans Visual Basic)
>
> 2) Si j'enregistre la formule dans une variable, dans ma formule il y a toujours le nom du fichier qui va changer, donc ???
>
> Explication de mon souci :
> J'ai environ 500 fichiers .xls de base qui ont la même structure. (C'est à dire, par exemple, la date se situe toujours en A6 mais ce n'est pas forcément la même date pour tous les fichiers).
>
> Je souhaite par Visual Basic, obtenir un fichier .xls avec uniquement quelques cellules de mes fichiers de base.
>
> Par exemple, on veut récupérer :
>
> - la partie droite de la cellule A6 du 1001004.xls vers A1 du NouveauFichier.xls
> - cellule D9 du 1001004.xls vers B1 du NouveauFichier.xls
>
> - la partie droite de la cellule A6 du 1001005.xls vers A2 du NouveauFichier.xls
> - cellule D9 du 1001005.xls vers B2 du NouveauFichier.xls
>
> Etc..... pour tous les fichiers de Base (de 1001004.xls : 1001999.xls)
>
> J'espère avoir été un peu plus claire.
>
> Merci d'avance.
> A+
> Géraldine
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour Géraldine,
> >
> > Effectivement, je n'ai pas été très "explicite" dans mon comentaire mais j'ai été interrompu ce matin alors que j ete répondais... Désolé.
> >
> > J'espere avoir compris ce que tu demandais ;-)
> >
> > Ce que je voulais dire :
> > As-tu essayé de mettre le nom de ton fichier dans une variable du style Nomfichier
> > puis de taper :
> > ActiveCell.FormulaR1C1 = "=RIGHT([" & nomfichier & "]Feuil1!R6C1,10)"
> >
> > sinon, essaie de passer une premiere fois dans ton fichier 1001004.xls, enregistre la formule dans une variable, puis restitue la pour chacun des fichiers que tu ouvres par la suite (sans avoir à la retaper ;-)
> >
> > Est-ce que j'ai répondu ou suis-je à côté?
> > si je suis à côté, peux-tu m'expliquer d'avantage ce que tu compte faire?
> >
> > Cordialement
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > C'est à dire ????
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > L'astuce est la concatenation de ta formule !
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour,
> > > > >
> > > > > Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
> > > > >
> > > > > Le chemin a été définit auparavant.
> > > > > Le code ouvre tous les fichiers d'un répertoire donné.
> > > > >
> > > > > Mon code :
> > > > >
> > > > > Sub Macro1()
> > > > > '
> > > > > Dim sFichier As String
> > > > > Workbooks.Add
> > > > > ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> > > > > sFichier = Dir("*.xls")
> > > > > Do Until sFichier = "1001008.xls"
> > > > > Workbooks.Open (sFichier)
> > > > > '
> > > > > 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
> > > > >
> > > > > '
> > > > > ActiveWorkbook.Close
> > > > > sFichier = Dir()
> > > > > Loop
> > > > > End Sub
> > > > >
> > > > >
> > > > > Je vous remercie par avance de vos réponses.
> > > > >
> > > >
> > >
> >
>
mercredi 12 mars 2003 à 12:02:58 | Re : ActiveCell.FormulaR1C1

Geraldine

Bonjour,

Je suis désolé, je n'ai pas oublié de te répondre.
Après une période de vacances, je n'ai pas eu le temps de m'occuper de VB.
Mais d'après un premier test, ce que tu m'avais répondu correspond à mon besoin. Il faut maintenant approfondir.
Je te tiendrai au courant dès que possible.

Merci encore pour ton soutient.
A+
Géraldine


-------------------------------
Réponse au message :
-------------------------------

>
>
>
> Juste une question : As-tu testé ce que je t'avais répondu?
> (pour savoir si ca cole avec ce dont tu avais besoin?)
>
> A+
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut,
> >
> > Merci pour le coup de main, mais effectivement je crois que mon souci est plus complexe.
> >
> > 1) Mettre mon fichier dans une variable (NomFichier) veut dire que je n'ai qu'un fichier dans ma variable. (Sauf erreur, je débute dans Visual Basic)
> >
> > 2) Si j'enregistre la formule dans une variable, dans ma formule il y a toujours le nom du fichier qui va changer, donc ???
> >
> > Explication de mon souci :
> > J'ai environ 500 fichiers .xls de base qui ont la même structure. (C'est à dire, par exemple, la date se situe toujours en A6 mais ce n'est pas forcément la même date pour tous les fichiers).
> >
> > Je souhaite par Visual Basic, obtenir un fichier .xls avec uniquement quelques cellules de mes fichiers de base.
> >
> > Par exemple, on veut récupérer :
> >
> > - la partie droite de la cellule A6 du 1001004.xls vers A1 du NouveauFichier.xls
> > - cellule D9 du 1001004.xls vers B1 du NouveauFichier.xls
> >
> > - la partie droite de la cellule A6 du 1001005.xls vers A2 du NouveauFichier.xls
> > - cellule D9 du 1001005.xls vers B2 du NouveauFichier.xls
> >
> > Etc..... pour tous les fichiers de Base (de 1001004.xls : 1001999.xls)
> >
> > J'espère avoir été un peu plus claire.
> >
> > Merci d'avance.
> > A+
> > Géraldine
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour Géraldine,
> > >
> > > Effectivement, je n'ai pas été très "explicite" dans mon comentaire mais j'ai été interrompu ce matin alors que j ete répondais... Désolé.
> > >
> > > J'espere avoir compris ce que tu demandais ;-)
> > >
> > > Ce que je voulais dire :
> > > As-tu essayé de mettre le nom de ton fichier dans une variable du style Nomfichier
> > > puis de taper :
> > > ActiveCell.FormulaR1C1 = "=RIGHT([" & nomfichier & "]Feuil1!R6C1,10)"
> > >
> > > sinon, essaie de passer une premiere fois dans ton fichier 1001004.xls, enregistre la formule dans une variable, puis restitue la pour chacun des fichiers que tu ouvres par la suite (sans avoir à la retaper ;-)
> > >
> > > Est-ce que j'ai répondu ou suis-je à côté?
> > > si je suis à côté, peux-tu m'expliquer d'avantage ce que tu compte faire?
> > >
> > > Cordialement
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > >
> > > > C'est à dire ????
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > L'astuce est la concatenation de ta formule !
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Bonjour,
> > > > > >
> > > > > > Comment puis-je utiliser la fonction, ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)" sans mettre le nom du fichier (1001004.xls) ?
> > > > > >
> > > > > > Le chemin a été définit auparavant.
> > > > > > Le code ouvre tous les fichiers d'un répertoire donné.
> > > > > >
> > > > > > Mon code :
> > > > > >
> > > > > > Sub Macro1()
> > > > > > '
> > > > > > Dim sFichier As String
> > > > > > Workbooks.Add
> > > > > > ChDir ("h:\Transit\Otcdep\Arretes\TCN\CR\Agate\")
> > > > > > sFichier = Dir("*.xls")
> > > > > > Do Until sFichier = "1001008.xls"
> > > > > > Workbooks.Open (sFichier)
> > > > > > '
> > > > > > 'ActiveCell.FormulaR1C1 = "=RIGHT([1001004.xls]Feuil1!R6C1,10)"
> > > > > >
> > > > > > '
> > > > > > ActiveWorkbook.Close
> > > > > > sFichier = Dir()
> > > > > > Loop
> > > > > > End Sub
> > > > > >
> > > > > >
> > > > > > Je vous remercie par avance de vos réponses.
> > > > > >
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : xls, activecell, formular1c1, sfichier, right


Répondre à ce message

Sujets en rapport avec ce message

ActiveCell.FormulaR1C1 [ par zorro75fr ] BonjourComment faire des priorités de cacul avec ActiveCell.FormulaR1C1="=...." du style (R[-1)C - R[-2]C)/R[-2]C Mer FormulaR1C1 [ par Nightmoo ] Je comprend pas pourquoi ça ne marche pas...Voici mon code : formule = "=MOYENNE(" & Colone(ActiveCell.Offset(0, 3 + (4 * K)).Column) & ":" & Colone(A Pb sur un VBA Excel [ par mastercatz ] bonjourj'ai fait un petit vba pour generer une série de fichier excel a partir d'un modele mais il plante sur une ligne toute betesi kkun voit une err EXCEL [ par christophe ] Salut a tous, voila je fais une exportation vers excel de données contenu dans une base de données et j'utilise un fichier excel de base pour pas avoi problème de formule de calcul [ par dvdnet ] Voilà ce que je souhaite faire ...Je créé une formule de calcul à l'aide de variables concernant des cellules provenant de plusieurs feuilles. cette f Comment ouvrir plusieurs fichiers excel dans un même classeur pour ensuite les concaténer?! [ par Anatolle ] Salut à tous,Je suis un débutant en VBA et je dois faire un petit logiciel pour traiter des fichiers de données .txt dans excel. Je me demandais s'il VBA Access pour Excel [ par darkspoilt ] Bonjour,S'il quelqu'un pouvait m'aider car j'ai un gros souci.En fait j'ai créer un fichier Excel a partir d'une table provenant d'Acces. J'aimerais p pb avec ActiveCell.FormulaR1C1 [ par cricriminator ] Bonjour,Je suis un novice dans le monde de VBJe fais du développement pour mon service (de l'optimisation de nos indicateur)Mais je galere car je me f importation entre 2 fichier .xls problème de rapidité [ par jmarichal ] bonjour a tous,je doits effectué une recherche dans in fichier contant pres de 2000 ligne certaine donnée correspondant a un critère définit par l'uti passage de variable sur ActiveCell.FormulaR1C1 [ par ars93 ] Bjr a tousj'aimerais passer une variable  dans la formule ci jointe pour remplacer  -7 ecrit en dur J'ai tout essaye les &" var&" les "& var&"... avec


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,482 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales