J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque
feuille : nommés "report" et "solde"
Dans chaque nouvelle feuille, je dois faire référence à une donnée de la
feuille précédente;
Par exemple :
- sous EXCEL, une fois la feuille "Juillet 2005" créée,
je peux aisément saisir dans le champ "report", la formule "='Juin
2005'!solde"
Mais comment faire la même chose sous VBA :
- j'ai testé
Sheets(i).[report].= Sheets(i - 1).[solde].Name
je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la
feuiile Juillet 2003,
mais pour que cette formule soit prise en compte, je dois manuellement :
- la sélectionner
- puis cliquer sur la touche"Entrée"
Est-il possible de générer cette séquence automatiquement sous VBA , ou bien
d'écrire la formule d'une autre manière ?
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
Alain CROS
Bonjour.
A adapter ...
Sub Ajout() Dim WS As Worksheet Set WS = Worksheets.Add(, Worksheets(Worksheets.Count)) With WS .Name = "Juillet 2005" .Names.Add "Report", [A1] .[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report" End With Set WS = Nothing End Sub
Alain CROS
"mouspi" a écrit dans le message de news: #6Ff$ | Bonjour à tous, | | J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque | feuille : nommés "report" et "solde" | | Dans chaque nouvelle feuille, je dois faire référence à une donnée de la | feuille précédente; | | Par exemple : | - sous EXCEL, une fois la feuille "Juillet 2005" créée, | je peux aisément saisir dans le champ "report", la formule "='Juin | 2005'!solde" | | Mais comment faire la même chose sous VBA : | - j'ai testé | Sheets(i).[report].= Sheets(i - 1).[solde].Name | je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la | feuiile Juillet 2003, | | mais pour que cette formule soit prise en compte, je dois manuellement : | - la sélectionner | - puis cliquer sur la touche"Entrée" | | Est-il possible de générer cette séquence automatiquement sous VBA , ou bien | d'écrire la formule d'une autre manière ? | | Quelqu'un a-t-il de bonnes idées ? | | Merci de votre aide | | mouspi | |
Bonjour.
A adapter ...
Sub Ajout()
Dim WS As Worksheet
Set WS = Worksheets.Add(, Worksheets(Worksheets.Count))
With WS
.Name = "Juillet 2005"
.Names.Add "Report", [A1]
.[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report"
End With
Set WS = Nothing
End Sub
Alain CROS
"mouspi" <mouspi@kichette.com> a écrit dans le message de news: #6Ff$29gFHA.2060@TK2MSFTNGP10.phx.gbl...
| Bonjour à tous,
|
| J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque
| feuille : nommés "report" et "solde"
|
| Dans chaque nouvelle feuille, je dois faire référence à une donnée de la
| feuille précédente;
|
| Par exemple :
| - sous EXCEL, une fois la feuille "Juillet 2005" créée,
| je peux aisément saisir dans le champ "report", la formule "='Juin
| 2005'!solde"
|
| Mais comment faire la même chose sous VBA :
| - j'ai testé
| Sheets(i).[report].= Sheets(i - 1).[solde].Name
| je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la
| feuiile Juillet 2003,
|
| mais pour que cette formule soit prise en compte, je dois manuellement :
| - la sélectionner
| - puis cliquer sur la touche"Entrée"
|
| Est-il possible de générer cette séquence automatiquement sous VBA , ou bien
| d'écrire la formule d'une autre manière ?
|
| Quelqu'un a-t-il de bonnes idées ?
|
| Merci de votre aide
|
| mouspi
|
|
Sub Ajout() Dim WS As Worksheet Set WS = Worksheets.Add(, Worksheets(Worksheets.Count)) With WS .Name = "Juillet 2005" .Names.Add "Report", [A1] .[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report" End With Set WS = Nothing End Sub
Alain CROS
"mouspi" a écrit dans le message de news: #6Ff$ | Bonjour à tous, | | J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque | feuille : nommés "report" et "solde" | | Dans chaque nouvelle feuille, je dois faire référence à une donnée de la | feuille précédente; | | Par exemple : | - sous EXCEL, une fois la feuille "Juillet 2005" créée, | je peux aisément saisir dans le champ "report", la formule "='Juin | 2005'!solde" | | Mais comment faire la même chose sous VBA : | - j'ai testé | Sheets(i).[report].= Sheets(i - 1).[solde].Name | je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la | feuiile Juillet 2003, | | mais pour que cette formule soit prise en compte, je dois manuellement : | - la sélectionner | - puis cliquer sur la touche"Entrée" | | Est-il possible de générer cette séquence automatiquement sous VBA , ou bien | d'écrire la formule d'une autre manière ? | | Quelqu'un a-t-il de bonnes idées ? | | Merci de votre aide | | mouspi | |
mouspi
Merci Alain,
J'ai adapté, ... et cela fonctionne très bien .
Juste une question : - quel est le rôle du caractère # dans Worksheets(.Index-1#) ?
Bonne journée
mouspi
"Alain CROS" a écrit dans le message de news: %23LP3C6$
Bonjour.
A adapter ...
Sub Ajout() Dim WS As Worksheet Set WS = Worksheets.Add(, Worksheets(Worksheets.Count)) With WS .Name = "Juillet 2005" .Names.Add "Report", [A1] .[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report" End With Set WS = Nothing End Sub
Alain CROS
"mouspi" a écrit dans le message de news: #6Ff$ | Bonjour à tous, | | J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque | feuille : nommés "report" et "solde" | | Dans chaque nouvelle feuille, je dois faire référence à une donnée de la | feuille précédente; | | Par exemple : | - sous EXCEL, une fois la feuille "Juillet 2005" créée, | je peux aisément saisir dans le champ "report", la formule "='Juin | 2005'!solde" | | Mais comment faire la même chose sous VBA : | - j'ai testé | Sheets(i).[report].= Sheets(i - 1).[solde].Name | je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la | feuiile Juillet 2003, | | mais pour que cette formule soit prise en compte, je dois manuellement : | - la sélectionner | - puis cliquer sur la touche"Entrée" | | Est-il possible de générer cette séquence automatiquement sous VBA , ou bien | d'écrire la formule d'une autre manière ? | | Quelqu'un a-t-il de bonnes idées ? | | Merci de votre aide | | mouspi | |
Merci Alain,
J'ai adapté, ... et cela fonctionne très bien .
Juste une question :
- quel est le rôle du caractère # dans Worksheets(.Index-1#) ?
Bonne journée
mouspi
"Alain CROS" <Personne@ICI> a écrit dans le message de news:
%23LP3C6$gFHA.1460@tk2msftngp13.phx.gbl...
Bonjour.
A adapter ...
Sub Ajout()
Dim WS As Worksheet
Set WS = Worksheets.Add(, Worksheets(Worksheets.Count))
With WS
.Name = "Juillet 2005"
.Names.Add "Report", [A1]
.[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report"
End With
Set WS = Nothing
End Sub
Alain CROS
"mouspi" <mouspi@kichette.com> a écrit dans le message de news:
#6Ff$29gFHA.2060@TK2MSFTNGP10.phx.gbl...
| Bonjour à tous,
|
| J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans
chaque
| feuille : nommés "report" et "solde"
|
| Dans chaque nouvelle feuille, je dois faire référence à une donnée de la
| feuille précédente;
|
| Par exemple :
| - sous EXCEL, une fois la feuille "Juillet 2005" créée,
| je peux aisément saisir dans le champ "report", la formule "='Juin
| 2005'!solde"
|
| Mais comment faire la même chose sous VBA :
| - j'ai testé
| Sheets(i).[report].= Sheets(i - 1).[solde].Name
| je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de
la
| feuiile Juillet 2003,
|
| mais pour que cette formule soit prise en compte, je dois manuellement
:
| - la sélectionner
| - puis cliquer sur la touche"Entrée"
|
| Est-il possible de générer cette séquence automatiquement sous VBA , ou
bien
| d'écrire la formule d'une autre manière ?
|
| Quelqu'un a-t-il de bonnes idées ?
|
| Merci de votre aide
|
| mouspi
|
|
Juste une question : - quel est le rôle du caractère # dans Worksheets(.Index-1#) ?
Bonne journée
mouspi
"Alain CROS" a écrit dans le message de news: %23LP3C6$
Bonjour.
A adapter ...
Sub Ajout() Dim WS As Worksheet Set WS = Worksheets.Add(, Worksheets(Worksheets.Count)) With WS .Name = "Juillet 2005" .Names.Add "Report", [A1] .[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report" End With Set WS = Nothing End Sub
Alain CROS
"mouspi" a écrit dans le message de news: #6Ff$ | Bonjour à tous, | | J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque | feuille : nommés "report" et "solde" | | Dans chaque nouvelle feuille, je dois faire référence à une donnée de la | feuille précédente; | | Par exemple : | - sous EXCEL, une fois la feuille "Juillet 2005" créée, | je peux aisément saisir dans le champ "report", la formule "='Juin | 2005'!solde" | | Mais comment faire la même chose sous VBA : | - j'ai testé | Sheets(i).[report].= Sheets(i - 1).[solde].Name | je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la | feuiile Juillet 2003, | | mais pour que cette formule soit prise en compte, je dois manuellement : | - la sélectionner | - puis cliquer sur la touche"Entrée" | | Est-il possible de générer cette séquence automatiquement sous VBA , ou bien | d'écrire la formule d'une autre manière ? | | Quelqu'un a-t-il de bonnes idées ? | | Merci de votre aide | | mouspi | |
jps
rien d'autre qu'un exercice digital de ce chirogourdiste d'AV, mouspi, dont worry... AMHA, le Alt Gr + # est la manip' clavier la plus pénible à faire jps
"mouspi" a écrit dans le message de news: %
- quel est le rôle du caractère # dans Worksheets(.Index-1#) ? mouspi
"Alain CROS" a écrit dans le message de news: %23LP3C6$
Bonjour.
A adapter ...
Sub Ajout() Dim WS As Worksheet Set WS = Worksheets.Add(, Worksheets(Worksheets.Count)) With WS .Name = "Juillet 2005" .Names.Add "Report", [A1] .[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report" End With Set WS = Nothing End Sub
Alain CROS
"mouspi" a écrit dans le message de news: #6Ff$ | Bonjour à tous, | | J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque | feuille : nommés "report" et "solde" | | Dans chaque nouvelle feuille, je dois faire référence à une donnée de la | feuille précédente; | | Par exemple : | - sous EXCEL, une fois la feuille "Juillet 2005" créée, | je peux aisément saisir dans le champ "report", la formule "='Juin | 2005'!solde" | | Mais comment faire la même chose sous VBA : | - j'ai testé | Sheets(i).[report].= Sheets(i - 1).[solde].Name | je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la | feuiile Juillet 2003, | | mais pour que cette formule soit prise en compte, je dois manuellement : | - la sélectionner | - puis cliquer sur la touche"Entrée" | | Est-il possible de générer cette séquence automatiquement sous VBA , ou bien | d'écrire la formule d'une autre manière ? | | Quelqu'un a-t-il de bonnes idées ? | | Merci de votre aide | | mouspi | |
rien d'autre qu'un exercice digital de ce chirogourdiste d'AV, mouspi, dont
worry...
AMHA, le Alt Gr + # est la manip' clavier la plus pénible à faire
jps
"mouspi" <mouspi@kichette.com> a écrit dans le message de news:
%23RLWuodhFHA.3316@TK2MSFTNGP14.phx.gbl...
- quel est le rôle du caractère # dans Worksheets(.Index-1#) ?
mouspi
"Alain CROS" <Personne@ICI> a écrit dans le message de news:
%23LP3C6$gFHA.1460@tk2msftngp13.phx.gbl...
Bonjour.
A adapter ...
Sub Ajout()
Dim WS As Worksheet
Set WS = Worksheets.Add(, Worksheets(Worksheets.Count))
With WS
.Name = "Juillet 2005"
.Names.Add "Report", [A1]
.[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report"
End With
Set WS = Nothing
End Sub
Alain CROS
"mouspi" <mouspi@kichette.com> a écrit dans le message de news:
#6Ff$29gFHA.2060@TK2MSFTNGP10.phx.gbl...
| Bonjour à tous,
|
| J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans
chaque
| feuille : nommés "report" et "solde"
|
| Dans chaque nouvelle feuille, je dois faire référence à une donnée de
la
| feuille précédente;
|
| Par exemple :
| - sous EXCEL, une fois la feuille "Juillet 2005" créée,
| je peux aisément saisir dans le champ "report", la formule "='Juin
| 2005'!solde"
|
| Mais comment faire la même chose sous VBA :
| - j'ai testé
| Sheets(i).[report].= Sheets(i - 1).[solde].Name
| je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de
la
| feuiile Juillet 2003,
|
| mais pour que cette formule soit prise en compte, je dois manuellement
:
| - la sélectionner
| - puis cliquer sur la touche"Entrée"
|
| Est-il possible de générer cette séquence automatiquement sous VBA , ou
bien
| d'écrire la formule d'une autre manière ?
|
| Quelqu'un a-t-il de bonnes idées ?
|
| Merci de votre aide
|
| mouspi
|
|
rien d'autre qu'un exercice digital de ce chirogourdiste d'AV, mouspi, dont worry... AMHA, le Alt Gr + # est la manip' clavier la plus pénible à faire jps
"mouspi" a écrit dans le message de news: %
- quel est le rôle du caractère # dans Worksheets(.Index-1#) ? mouspi
"Alain CROS" a écrit dans le message de news: %23LP3C6$
Bonjour.
A adapter ...
Sub Ajout() Dim WS As Worksheet Set WS = Worksheets.Add(, Worksheets(Worksheets.Count)) With WS .Name = "Juillet 2005" .Names.Add "Report", [A1] .[Report].Formula = "=" & Worksheets(.Index - 1#).Name & "!Report" End With Set WS = Nothing End Sub
Alain CROS
"mouspi" a écrit dans le message de news: #6Ff$ | Bonjour à tous, | | J'ai une appli qui génère des feuilles de calcul, avec 2 champs dans chaque | feuille : nommés "report" et "solde" | | Dans chaque nouvelle feuille, je dois faire référence à une donnée de la | feuille précédente; | | Par exemple : | - sous EXCEL, une fois la feuille "Juillet 2005" créée, | je peux aisément saisir dans le champ "report", la formule "='Juin | 2005'!solde" | | Mais comment faire la même chose sous VBA : | - j'ai testé | Sheets(i).[report].= Sheets(i - 1).[solde].Name | je vois bien apparaître ='Juin 2005'!solde dans la cellule "report" de la | feuiile Juillet 2003, | | mais pour que cette formule soit prise en compte, je dois manuellement : | - la sélectionner | - puis cliquer sur la touche"Entrée" | | Est-il possible de générer cette séquence automatiquement sous VBA , ou bien | d'écrire la formule d'une autre manière ? | | Quelqu'un a-t-il de bonnes idées ? | | Merci de votre aide | | mouspi | |