Salut,
Voici mon code, j'explique mon probleme après:
Private Sub Worksheet_Activate()
Dim CHEMIN As String
Dim FICHIER As String
Dim FEUIL As String
Dim CELLULE As String
Dim SOMME As Double
Dim VList
Dim i As Integer
Dim j As Integer
Dim k As Integer
VList = Array("ARDIA", "HAUTECOEUR", "EUROT", "COLOMBO", "IBERTEL")
CHEMIN = "Mederic:Users:emac1:Desktop:TRANSPORTE:"
SOMME = 0
'On boucle sur les colonnes (les 12 mois)
For k = 3 To 14
FEUIL = Cells(4, k)
For j = 5 To 20
Select Case j
Case 5
CELLULE = "G304"
Case 6
CELLULE = "I304"
Case 7
CELLULE = "DIFF"
Case 8
CELLULE = "G305"
Case 9
CELLULE = "I305"
Case 10
CELLULE = "DIFF"
Case 11
CELLULE = "G306"
Case 12
CELLULE = "I306"
Case 13
CELLULE = "DIFF"
Case 14
CELLULE = "G307"
Case 15
CELLULE = "I307"
Case 16
CELLULE = "DIFF"
Case 17
CELLULE = "I308"
Case 18
CELLULE = "G301"
Case 19
CELLULE = "I301"
Case 20
CELLULE = "DIFF"
End Select
For i = 0 To UBound(VList)
If CELLULE <> "DIFF" Then
If FEUIL <> "" Or CELLULE <> "" Then SOMME = SOMME + _
GetValue(CHEMIN, "SALIDAS " & VList(i) & " 2005.xls", FEUIL, CELLULE)
Else
SOMME = Cells(j - 2, k).Value - Cells(j - 1, k).Value
End If
If Err <> 0 Then Exit For
Next
Cells(j, k).Value = SOMME
SOMME = 0
Next
Next
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