Formule Excel
Résoluactuellement je fais un travail sous excel et j'aurais besoin d'une formule ( si elle existe :')).
j'ai dans un premier temps 200 feuilles avec divers informations dessu.
puis j'ai une 201 feuille qui se nomme "recap".
sur cette feuille "recap" j'ai besoin que toutes les cellules C13 de mes 200 feuilles y soit indiqués
y'a t-il une formule pour cela ?
Cordialement
Configuration: Windows XP Firefox 2.0.0.9
24 réponses
Récupération des valeurs des cellules C13 sur 200 feuilles Excel vers une feuille récapitulative nommée 'recap', afin d'obtenir soit une liste soit une somme facilement exploitable. Plusieurs réponses proposent des approches VBA, notamment une macro qui additionne les valeurs C13 de chaque feuille dans C13 de la feuille 'recap', et une autre qui liste les noms des feuilles avec leur valeur. D'autres échanges évoquent des boutons ou des commandes simples, mais la solution fonctionnelle dépend de l'objectif : affichage listé ou somme agrégée des C13 dans le récap. En cas de besoin, le choix entre listing et somme peut être basculé facilement en adaptant le code ou la cellule de destination, selon le besoin.
-
ContributeurDe rien... :-)
Tu penseras à mettre la discussion en résolu stp ?
merci -
problème resolu grand merci a toi eric :)
-
ContributeurBonsoir,
Dans le menu 'Affichage / Barres d'outils...' tu dois avoir 'Boite à outils Contrôles' de coché.
Sur ta feuille RECAP tu dessines ton bouton, tu double-cliques dessus pour ouvrir VBA, et dans la zone code (à droite), entre Sub et End Sub tu colles toutes les lignes à l'exception de sub... et end sub.
Tu n'as plus qu'à changer le libelléBonsoir,
Dans le menu 'Affichage / Barres d'outils...' tu dois avoir 'Boite à outils Contrôles' de coché.
Sur ta feuille RECAP tu dessines ton bouton, tu double-cliques dessus pour ouvrir VBA, et dans la zone code (à droite), entre Sub et End Sub tu colles toutes les lignes à l'exception de sub... et end sub.
Mais les lignes'copier les valeurs de C13 colonne B wsRecap.Range("B1").Offset(j, 0).Value = Worksheets(i).Range("C13").Value 'copier les valeurs de B4 colonne C wsRecap.Range("C1").Offset(j, 0).Value = Worksheets(i).Range("B4").Value
sont des exemples !!!!
Adapte à tes besoins.
Tu n'as plus qu'à changer le libellé de ton bouton et tester en désactivant le mode construction en cliquant sur l'icone 'equerre, regle, crayon'.
eric -
Bonjour eric
Donc si je comprends bien je dois juste mettre sa :
Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer, ws As Worksheet
Set wsRecap = Worksheets(RECAP)
j = 0
For i = 1 To Sheets.Count
If LCase(Worksheets(i).Name) <> LCase(wsRecap.Name) Then
j = j + 1
'copier les noms des feuilles en colonne A
wsRecap.Range("A1").Offset(j, 0).Value = Worksheets(i).Name
'copier les valeurs de C13 colonne B
wsRecap.Range("B1").Offset(j, 0).Value = Worksheets(i).Range("A3").Value
'copier les valeurs de B4 colonne C
wsRecap.Range("C1").Offset(j, 0).Value = Worksheets(i).Range("B4").Value
' etc
End If
Next i
wsRecap = Nothing
End Sub
Je comprends pas la suite car j'ai fais copier coller avec la modifictation mais que dois-je fias apres ?
Coridalement -
ContributeurBonsoir,
Je ne sais pas si tu as avancé mais voici un code que tu peux mettre sur ton bouton.
Ca t'inscrit en colonne A les noms de feuilles, et en colonnes B, C, ... les valeurs des celulles choisies de toutes les autres feuilles du classeur.
Private Sub CommandButton1_Click() Dim i As Integer, j As Integer, ws As Worksheet Set wsRecap = Worksheets("recap") 'mettre le nom exact de la feuille récapitulative j = 0 For i = 1 To Sheets.Count If LCase(Worksheets(i).Name) <> LCase(wsRecap.Name) Then j = j + 1 'copier les noms des feuilles en colonne A wsRecap.Range("A1").Offset(j, 0).Value = Worksheets(i).Name 'copier les valeurs de C13 colonne B wsRecap.Range("B1").Offset(j, 0).Value = Worksheets(i).Range("A3").Value 'copier les valeurs de B4 colonne C wsRecap.Range("C1").Offset(j, 0).Value = Worksheets(i).Range("B4").Value ' etc End If Next i wsRecap = Nothing End Sub
eric -
je cherches en vain je n'est aucune base en macro je trouves la macro qu'il me faudrais si quelqu'un a du temps a me consacrer je suis partant ^^ j'adore apprendre de nouvelle chose :)
-
Eriiic, oui tu as raison, mais je ne savais pas ce qu'il voulait exactement au début, ni comment était articulé son fichier. Ta syntaxe est meilleure.
Mais effectivement une macro (bien que je n'aime pas trop les macros) est plus appropriée.
Lapologie, tu devrais trouver sans trop de problème comment réaliser une macro en effectuant une recherche sur le net.
Bon courage,
;o)
Polux -
enfaite sur mes 200 feuilles il y aurais tourjour en I13 une date. et je souhaites que sur ma feuille recap toute les dates de mes 200 feuilles y soient indiqué les unes a la suites des autres. Sur ma feuille "recap" il y a d'autre cellule de mes 200 feuilles qui doivent etre repertorier.
cordialement -
ContributeurBonjour,
lapologie:
C'est une macro qu'il faut que tu ajoutes, mais là je n'ai pas trop le temps d'expliquer comment faire
polux:
Il me semble qu'il veut récuperer toutes les dates, pas la somme...
Qcq chose comme :
Worksheets("recap").Range("A1").Offset(i,0).Value = Worksheets(i).Range("C13").Value
serait plus approprié non ?
eric -
il faut adapter le code :
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To Sheets.Count - 1
Worksheets(201).Range("I13").Value = Worksheets(201).Range("I13").Value + " " + Worksheets(i).Range("I13").Value
Next i
End Sub
Voilà toutes les dates vont s'afficher dans la cellule I13 de la feuille 201. -
c'est censé s'affcihé ou toute les dates de mes 200 feuilles ? ya ecrit sa c'est normal ? :
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To Sheets.Count - 1
Worksheets(201).Range("C13").Value = Worksheets(201).Range("C13").Value + Worksheets(i).Range("C13").Value
Next i
End Sub -
tu sauvegardes, tu enlève le mode création et tu cliques sur le bouton
-
j'ai crée mon boutton j'ai double cliqué dessu y a une fenetre blanche qui est venu j'ai coller les 4 lignes et ensuite je fais quoi ?
-
dans la barre de menu -> Affichage -> Barre d'outils, cocher Visual Basic ...
Ensuite, cliques sur "Boite à outils Contrôles" (le marteau et la clé) et sur "Mode création" (l'équerre et le crayon). Dans la fenêtre Outils de Contrôles, selectionnes "bouton de commande". Le pointeur de souris est devenu une croix. Faire clic gauche là où l'on veut le bouton, puis sans lacher le clic gauche, donner la dimension voulue.
Bon courage -
euh comment on mets un boutton ^^ ?
-
Mets un bouton sur ta feuille récap (la 201ème). Double clique dessus en mode création, tu arrives sur l'évènement à coder, fais un copier/coller des 4 lignes de codes ...
;o)
Polux -
pour l'indication de polux je dois copier sa " Dim i As Integer
For i = 1 to Sheets.Count - 1
Worksheets(201).Range("C13").Value = Worksheets(201).Range("C13").Value + Worksheets(i).Range("C13").Value
next i " et juste a la mettre dans la cellule ou je veux que ma date apparaise ? -
oui mais bon 200 feuilles sa fait un peu beaucoup a faire surtout que j'ai pas que la cellule I13 qui doit etre indiqué sur ma feuille recap ^^'
-
euh j'dois mettre quoi dans la cellule ? ^^
-
ContributeurLa liaison à écrire est , par exemple :
= / tu vas sur ta feuille 1 / tu clicques sur la cellule I13 / tu valides.
tu recommences avec chaque feuille sur une nouvelle cellule de ta feuille récap.
à moins que je n'ai pas compris ta demande.
- 1
- 2