petithomme
XLDnaute Occasionnel
Bonjour,
je m'en remets une fois de plus à vos yeux et votre savoir,
j'ai un bouton qui appel la macro Actualiser.
tout marchait très bien mais aujourd'hui en la testant, j'ai un problème :
cel2 n'est pas renseignée et reste donc vide ce qui plante ma macro à :
pourtant les cellules sont bien renseignées :
Worksheets("Paramètres").Range("B3").Value = Un nom de feuille existante
Worksheets("Paramètres").Range("B4").Value = une plage qui contient les données
J'ai essayé de trouver la faille avec des msgbox pour vérifier le contenu des variable avant de passer par le déboggueur mais sans succès . . .
je pense qu'il y a un problème avec
mais pourquoi ?
Merci mille fois encore
je m'en remets une fois de plus à vos yeux et votre savoir,
j'ai un bouton qui appel la macro Actualiser.
Code:
Sub bouton()
'Renseignement des variables pour utiliser la fonction OuvrirFermer
Dim ws As Worksheet
Dim cel As Range
Dim nb As Integer
Set ws = Worksheets(Worksheets("Paramètres").Range("B1").Value)
Set cel = Range(Worksheets("Paramètres").Range("D1").Value)
nb = Worksheets("Paramètres").Range("G1").Value
OuvrirFermer ws, cel, nb
End Sub
Public Sub OuvrirFermer(ws As Worksheet, cel As Range, nbcellules As Integer)
Dim cel2 As Range
Dim i As Integer
Dim nb As Integer
Dim nbcel As Integer
i = 1
Set cel2 = cel(i)
nb = Workbooks.Count
nbcel = cel.Count
While cel2.Value <> "FIN" And i <= nbcel
If Dir(cel2.Value) <> "" Then
Workbooks.Open cel2.Value
Workbooks(nb + 1).Close
cel(i, nbcellules).Font.ColorIndex = 4
cel(i, nbcellules).Value = "Ouverture réussite"
Else
cel(i, nbcellules).Font.ColorIndex = 3
cel(i, nbcellules).Value = "Ouverture echouée"
End If
i = i + 1
Set cel2 = cel(i)
Wend
End Sub
tout marchait très bien mais aujourd'hui en la testant, j'ai un problème :
cel2 n'est pas renseignée et reste donc vide ce qui plante ma macro à :
Code:
If Dir(cel2.value) <> "" Then
Workbooks.Open cel2.value
Worksheets("Paramètres").Range("B3").Value = Un nom de feuille existante
Worksheets("Paramètres").Range("B4").Value = une plage qui contient les données
J'ai essayé de trouver la faille avec des msgbox pour vérifier le contenu des variable avant de passer par le déboggueur mais sans succès . . .
je pense qu'il y a un problème avec
Code:
set cel2 = cel(i)
Merci mille fois encore
Dernière édition: