Se connecter avec
S'enregistrer | Connectez-vous

[EXCEL] Récupérer des noms d'onglets

Dernière réponse : dans Programmation

Salut,

Voici mon code, j'explique mon probleme après:
  1. Private Sub Worksheet_Activate()
  2.  
  3. Dim CHEMIN As String
  4. Dim FICHIER As String
  5. Dim FEUIL As String
  6. Dim CELLULE As String
  7. Dim SOMME As Double
  8. Dim VList
  9. Dim i As Integer
  10. Dim j As Integer
  11. Dim k As Integer
  12.  
  13. VList = Array("ARDIA", "HAUTECOEUR", "EUROT", "COLOMBO", "IBERTEL")
  14. CHEMIN = "Mederic:Users:emac1:Desktop:TRANSPORTE:"
  15. SOMME = 0
  16.  
  17. 'On boucle sur les colonnes (les 12 mois)
  18. For k = 3 To 14
  19. FEUIL = Cells(4, k)
  20.  
  21. For j = 5 To 20
  22. Select Case j
  23. Case 5
  24. CELLULE = "G304"
  25. Case 6
  26. CELLULE = "I304"
  27. Case 7
  28. CELLULE = "DIFF"
  29. Case 8
  30. CELLULE = "G305"
  31. Case 9
  32. CELLULE = "I305"
  33. Case 10
  34. CELLULE = "DIFF"
  35. Case 11
  36. CELLULE = "G306"
  37. Case 12
  38. CELLULE = "I306"
  39. Case 13
  40. CELLULE = "DIFF"
  41. Case 14
  42. CELLULE = "G307"
  43. Case 15
  44. CELLULE = "I307"
  45. Case 16
  46. CELLULE = "DIFF"
  47. Case 17
  48. CELLULE = "I308"
  49. Case 18
  50. CELLULE = "G301"
  51. Case 19
  52. CELLULE = "I301"
  53. Case 20
  54. CELLULE = "DIFF"
  55. End Select
  56.  
  57. For i = 0 To UBound(VList)
  58. If CELLULE <> "DIFF" Then
  59. If FEUIL <> "" Or CELLULE <> "" Then SOMME = SOMME + _
  60. GetValue(CHEMIN, "SALIDAS " & VList(i) & " 2005.xls", FEUIL, CELLULE)
  61.  
  62. Else
  63. SOMME = Cells(j - 2, k).Value - Cells(j - 1, k).Value
  64. End If
  65.  
  66. If Err <> 0 Then Exit For
  67. Next
  68.  
  69. Cells(j, k).Value = SOMME
  70. SOMME = 0
  71.  
  72. Next
  73. Next
  74.  
  75. End Sub


(Le "GetValue" est une fonction qui me ramène la valeur de la cellule dont je lui envoie les "morceaux" d'adresse en string)

Le problème c'est que quand l'onglet d'un fichier n'existe pas, evidemment ca plante.
Il y a un onglet par mois de l'année, mais en mars, les onglets d'avril, mai .. décembre n'existent pas encore!

==> Comment je peux donner à FEUIL le nom des onglets , pour vérifier l'existence de ces onglets à chaque itération et pour etre sur que j'adresse bien les données ?

(je donnais comme valeur à FEUIL les titres des colonnes de mon tableau d'arrivée (la feuille active ou je recupère les données)

Je dois laisser la boucle sur "k" (la 1ere) telle quelle (je ne veux pas quitter la boucle si l'onglet avril n'existe pas sur le 1er fichier mais existe sur le 2nd..)
Mais vérifier dans la boucle sur "i" (qui boucle sur les fichiers) que l'onglet correspondant existe...

Bravo si vous arrivez à m'aider

et ensuite dans la boucle sur "i", je vérifie que l'onglet existe pour ne pas faire le GetValue
:p  :D  :pt1cable:  :whistle: 

Autres pages sur : excel recuperer noms onglets

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte