aide sur un recopié incrémenté

salsitawapa

XLDnaute Occasionnel
Bonjour à tous, j'aimerai trouvé une astuce qui me fasse un recopié incrémenté vers le bas du même genre que quand on écrit 1,2,3 en ligne respective A1,A2,A3 on peut recopié vers le bas et sa continuera a nous conter (4,5,6,7,8,9,10,11,12,13......).
Sauf que ma copie incrémenté vers le bas serait pour une formule ='1'!$B$5.
J'ai une centaine de feuille identique et j'aimerai que au lieu de recopier la formule une par une, je puisse me mettre une fois la formule ='1'!$B$5 et que dès que je recopie ver le bas cela m'afficherai dans l'ordre suivant : ='1'!$B$5 ; ='2'!$B$5 ; ='3'!$B$5 ; ='4'!$B$5 ; ='5'!$B$5 ; ='6'!$B$5 ; ='7'!$B$5 ............
Si quelqu'un à une astuce SVP !
Merci
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : aide sur un recopié incrémenté

Bonjour Salsitawapa, le Forum

Sous réserve de ma bonne compréhension à ton problème. Le code ci-dessous incrémentera en colonne "A" de la Feuille Active, une Formule =NomFeuille!$B$5 pour Chacune des Feuilles du classeurs

La feuille devant recevoir les Formules Incrémentées de A1 à Axxx étant la Feuille Active, faire tourner cette macro :

Code:
Sub Formula_Incrementation()
Dim TheFormula As String
Dim WS As Worksheet
Dim X As Integer
TheFormula = "!$B$5"
    For Each WS In ThisWorkbook.Worksheets
        If WS.Name <> ActiveSheet.Name Then
        X = X + 1
            Cells(X, 1).Formula = "=" & CStr(WS.Name) & TheFormula
        End If
    Next
End Sub

Bonne Fin de Journée
@+Thierry

PS Je n'ai pas besoin des Quotes ' pour des Noms de Feuilles
 

Kobaya

XLDnaute Occasionnel
Re : aide sur un recopié incrémenté

salut salsitawapa,

avec la fonction Indirect(), ça marche :

=INDIRECT("'"&ROW()&"'!$B$5";1) ' version anglaise
=INDIRECT("'"&LIGNE()&"'!$B$5";1) ' version française

enfait, elle reconstruit une référence de cellule. adapte LIGNE() de façon à te renvoyer la bonne ligne !
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : aide sur un recopié incrémenté

Bonjour Sambinholindo, ho pardon salsitawapa, bonjour le forum,

Je ne sais pas faire avec formule mais peut-être cette macro te fera l'affaire :

Code:
Sub Macro1()
Dim x As Byte
For x = 1 To Sheets.Count
    Sheets(1).Cells(x, 1).Formula = "=" & x & "!$B$5"
Next x
End Sub

Édition :

Bonjour Thierry, Kobaya. Sympas les gars ! Merci de me rappeler ma lenteur cérébrale...
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : aide sur un recopié incrémenté

Bonjour Kobaya, re Salsitawapa, le Forum


Quelque chose doit m'échapper dans ce fil, car j'avais interprété des Noms d'Onglets avec la question :
"...J'ai une centaine de feuille identique et j'aimerai que au lieu de recopier la formule une par une..."

Mais sinon, Kobaya, j'ai essayé ta Formule, mais je n'arrive pas à obtenir son fonctionnement sous une version américaine.

Bonne Soirée
@+Thierry
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : aide sur un recopié incrémenté

Salut Robert

Dans le passage trans-sidéral de la Galaxy des "'Flying Meteors" qui couvraient l'avancée des "Rolling Stones", l'HyperSpace a dû me rendre invisible !!! lol

Bien à Toi

@+Thierry



PS Au fait pour les amis espagnols, le Concert de ce soir à Valladolid est annulé, Mick a une laryngite aigue !!!


EDITION !!!
LOL @ Robert !!!!
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : aide sur un recopié incrémenté

Bonjour le fil, bonjour le forum,

Ha ha ha ! Invisible toi ? MDR. Figure-toi que l'autre jour je suis allé voir un concert de chevelus hirsutes, bruyants et malpolis (oui oui ils tiraient la langue) lorsque quelqu'un m'a demandé "Mais qui c'est le mec avec un micro juste derrière Thierry de XLD ? "
 

mjo

XLDnaute Impliqué
Re : aide sur un recopié incrémenté

Bonsoir,

Si la feuille sur laquelle on place la formule n'est pas la feuille '1' :

=INDIRECT("'"&LIGNE()&"'!B5")

Le formule de Kobaya est bonne, mais je ne vois pas à quoi sert l'argument final : ";1"

mjo
 

Kobaya

XLDnaute Occasionnel
Re : aide sur un recopié incrémenté

Thierry, le forum,


j'ai essayé sur une version anglaise (Excel 2002 au boulot) et française (Excel 2000 chez moi), et ça marche.

le deuxième argument de Indirect() vaut :
0 si la référence (le premier argument de Indirect()) est de type L1C1
1 (ou omis) si la référence est de type A1

si la fonction est placée
en ligne 1, elle renverra la valeur de la cellule $B$5 de l'onglet '1'
en ligne 2, elle renverra la valeur de la cellule $B$5 de l'onglet '2'
et ainsi de suite...

un petit exemple dans le fichier joint
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 910
Membres
103 983
dernier inscrit
AlbertCouillard