Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
775 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Somme de feuilles de calcul

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Somme de feuilles de calcul

n°703780
mirascheat
Posté le 20-04-2004 à 13:52:10  profilanswer
 

Bonjour,
J'ai plusieurs feuilles de calcul qui ont la même forme mais avec des nombres différents ... Je voudrais faire une feuille de synthèse contenant la somme de ces feuilles de calcul.
Par avance merci

mood
Publicité
Posté le 20-04-2004 à 13:52:10  profilanswer
 

n°705073
phosphorus​68
Pseudo à n°
Posté le 21-04-2004 à 15:13:21  profilanswer
 

o clique dans une cellule de ta feuille 'somme' disons 'A1'
o appuie sur '='
o clique sur l'onglet d'une autre feuille, genre Feuil1 pour en changer
o clique sur la cellule 'A1' de cette feuille
o appuie sur '+'
o clique sur l'onglet d'une autre feuille, genre Feuil2
o clique sur la cellule 'A1' de cette feuille
o appuie sur 'Entrée/Return'
 
Ooooh
=Feuil1!A1+Feuil2!A1
 
Je te laisse copier/coller la formule dans ta feuille 'Somme' et scripter en cas de Feuilles nombreuses et aux noms variables ...

n°705198
mirascheat
Posté le 21-04-2004 à 16:25:47  profilanswer
 

D'accord je te remercie  ... mais bon je savais déjà faire ca ... mais c'est vrai que c'est de ma faute car je n'avais pas préciser exactement ce que je voulais faire.
En fait je veux faire une macro pour que ce soit fait automatiquement. J'ai tenté ca (attention on essaye de pas se moquer parce que je débute le VBA  :D ):

Code :
  1. Sub ValeurA1()
  2.     Dim i, Sum As Integer
  3.     Worksheets("Feuil1" ).Range("A1:A5" ).Value = 1
  4.     Worksheets("Feuil2" ).Range("A1:A5" ).Value = 3
  5.     For i = 1 To 2
  6.     Sum = Worksheets("Feuili" ).Range("A1:A5" ).Value + Worksheets("Feuili" ).Range("A1:A5" ).Value
  7.     Worksheets("Feuil3" ).Range("A1:A5" ).Value = Sum
  8.     Next
  9. End Sub


 
2 problèmes :
- d'une part il semble que je ne puisse pas faire une somme en prenant en compte directement plusieurs cellules (parce que avec A1:A5 ca ne marche pas mais avec A1 seulement oui)
- d'autre part il ne semble pas que ma variable i dans Feuilli ne soit pas bien interprété
 
Tout autre suggestion est bien sur la bienvenue

n°705280
tegu
Posté le 21-04-2004 à 17:26:21  profilanswer
 

Essaye ça
 


Sub ValeurA1()  
 
 Worksheets("Feuil1" ).Range("A1:A5" ).Value = 1  
 Worksheets("Feuil2" ).Range("A1:A5" ).Value = 3  
 
 Worksheets("Feuil3" ).Range("A1:A5" ).FormulaR1C1 = "=Feuil1!RC+Feuil2!RC"
 
End Sub  


 
Pour ton problème d'indice i, normal qu'il ne l'interprète pas bien,
dans ta syntaxe "...Worksheets("Feuili" )..." comment veux tu qu'il sache quoi faire de tes i (tu en as deux) entre guillemets ?
La bonne syntaxe d'utilisation d'un indice aurait été dans ce cas "...Worksheets("Feuil" & i)..."
 
Mais tu dois pouvoir t'en passer avec ma formule
Seulement celle-ci marche dans ton contexte précis, mais probablement pas dans d'autres, à toi de voir.

n°705374
phosphorus​68
Pseudo à n°
Posté le 21-04-2004 à 19:00:45  profilanswer
 

mirascheat a écrit :


Code :
  1. Dim i, Sum As Integer
  2.     For i = 1 To 2
  3.     Sum = Worksheets("Feuili" ).Range("A1:A5" ).Value + Worksheets("Feuili" ).Range("A1:A5" ).Value
  4.     Worksheets("Feuil3" ).Range("A1:A5" ).Value = Sum
  5.     Next
  6. End Sub


 

Pourquoi A1 et pas A1:A5? --> Sum est un entier, tu ne peux y affecter qu'une seule valeur (entière) unique. Pour y associer 5 valeurs, il faudrait un tableau ou bien manipuler des objets 'Range'.
Tu peux copier/coller un 'Range' d'une feuille à une autre mais pas (enfin je pense pas) copier/additionner blabla.range += blabla.range (avec la notation matricielle c'est peut-être possible mais c'est tellement ch.... à utiliser :D)

n°705669
mirascheat
Posté le 22-04-2004 à 09:52:07  profilanswer
 

@ tegu : je ne comprends pas très bien à quoi correspondent le "R1C1" dans

Code :
  1. FormulaR1C1

et les RC dans

Code :
  1. "=Feuil1!RC+Feuil2!RC"


Par avance merci

n°706081
mirascheat
Posté le 22-04-2004 à 15:46:09  profilanswer
 

J'ai une autre question (j'utilise le meme topic) :
Je voudrais selectionner une cellule en fonction de son nom ... Je détaille :
j'ai un tableau avec sur la première ligne un ensemble de nom (Pierre, Paul, Jacques ...) et sur la deuxième ligne un paramètre spécifique à chaque nom (5, 4, 9 ...)
j'ai une variable "name" qui pointe sur la personne courante et je voudrais récupérer la valeur du paramètre spécifique au nom courant.
j'ai essayé ca :

Code :
  1. Cells(name).Offset(1, 0).value


mais ca ne semble pas marcher.
 
Voilà j'espère que j'ai été clair et merci pour votre aide.

n°706767
tegu
Posté le 23-04-2004 à 10:06:32  profilanswer
 

FormulaR1C1 permet d'affecter une formule utilisant le référencement de cellules RC (ou LC en français).  
Tu travailles en mode A1 mais tu peux changer cela dans le menu Outils/Options/onglet général/case cocher "Style de référencement L1C1"
 
En mode A1 les cellules sont indexées à la façon de la bataille navale, en mode R1C1 elles le sont par leur numéro de ligne (row) et de colonne.
 
 
Pour le RC, il signifie "même ligne et même colonne que la cellule active"
Donc si je saisis en cellule D4 de la feuille 2 la formule R1C1 "=Feuil1!RC" cela veut dire "sur la feuille 1, en D4".
 
Je regarde ton autre question


Message édité par tegu le 23-04-2004 à 10:07:51
n°706781
tegu
Posté le 23-04-2004 à 10:22:45  profilanswer
 

Pour ta question sur les noms et paramètres associés
 
Quand tu dis que ta variable name "pointe" sur la personne courante, que contient elle comme valeur ?
Le nom de la personne ? Les coordonnées de la cellule où le nom est inscrit ?
 
".Cells" attend deux paramètres: les numéros de ligne et de colonne de la cellule à traiter
Je ne crois pas qu'on puisse lui passer un nom de cellule/plage.
 
Donc si name contient les coordonnées de la cellule sous forme "A1" ou son nom de plage Excel, alors il faut utiliser ".Range(name)".
Si name contient le nom de la personne, il faut t'orienter vers la fonction de l'interface Excel (pas besoin de VBA) RECHERCHEH(...)
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Somme de feuilles de calcul

 

Sujets relatifs
Problème de calcul de datessomme conditionnelle avec Excel
Calcul du SINUS à partir du développement limité sous VB?asp excel créer plusieurs feuilles excel sans le composant
[vba] faire la somme dans un rapport helpDébutant et calcul
calcul du nombre de jours ouvrés entre 2 datesCalcul de hash SHA-1
Programme de calcul d'intégralescalcul CRC
Plus de sujets relatifs à : Somme de feuilles de calcul


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR