xRay13
Messages postés14Date d'inscriptionmercredi 23 janvier 2008StatutMembreDernière intervention30 septembre 2009
-
13 août 2008 à 18:32
xRay13
Messages postés14Date d'inscriptionmercredi 23 janvier 2008StatutMembreDernière intervention30 septembre 2009
-
14 août 2008 à 09:51
Bonjour,
je souhaiterai créer un tableau de résumé sur une page de mon classeur Excel.
Les valeurs de ce tableau sont contenues dans les autres pages, à partir de la troisième, dans le même classeur.
Il s'agit de valeurs qui sont dans des cellules toujours placées aux m^meme emplacements dans toutes les pages concernées.
Mes contraintes sont que le nombre de pages à prendre en compte est variable et que je ne peux pas nommer ces cellules parce que chaque page ajoutée dans le classeur est une copie d'un modèle faisant aussi parti du classeur.
Je souhaiterai ecrire une procedure qui permet d'ajouter, au tableau de résumé avec autant de lignes qu'il y a de feuilles concernées sachant que chaque ligne contiendra les valeurs des différentes cellules (range défini) de chaque feuilles
Par exemple 3 feuilles contenant chacunes des valeurs différentes dans les cellules A2, B5, B6 et C8 à regrouper en un tableau du type:
- Ligne 2 pour la feuille 1 et contient A2.value en B11, B5.value en C11, B6.value en D11et C8.Value en E11
- Ligne 3 pour la feuille 2 et contient A2.value en B12, B5.value en C12, B6.value en D12et C8.Value en E12
et ainsi de suite pour l'ensemble des feuilles.
Je pense que UBound est peut-etre la solution mais je ne sais comment faire ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 13 août 2008 à 20:00
Salut,
tu peux boucler sur les feuilles présentes, effectivement avec UBound, mais aussi avec la propriété Count de l'objet Sheets :
Dim i as integer, iLine as integer
iLine = 11
For i = 3 to Sheets.Count
Cells(iLine, 2).Value = Sheets(i).Range("A2").Value
Cells(iLine, 3).Value = Sheets(i).Range("B5").Value
Cells(iLine, 4).Value = Sheets(i).Range("B6").Value
Cells(iLine, 5).Value = Sheets(i).Range("C8").Value
iLine = iLine + 1
Next i