Bonjour à tous
Me revoilà avec un nouveau problème irritant :
Mon programme en VBA recense dans un classeur les feuilles dont le contenu
de la cellule L3C4 est "GesFab"
Enfantin mais dans ce classeur j'ai une feuille graphique et quand le
programme arrive à cette feuille graphique j'ai droit à une superbe erreur
"Propriété non gérée par l'objet"
J'ai provisoirement résolu le problème en supprimant la feuille Graphique
mais y-a-t'il un moyen de détecter s'il s'agit d'une feuille graphique pour
l'eviter?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Francois
Bonjour à tous Me revoilà avec un nouveau problème irritant : Mon programme en VBA recense dans un classeur les feuilles dont le contenu de la cellule L3C4 est "GesFab" Enfantin mais dans ce classeur j'ai une feuille graphique et quand le programme arrive à cette feuille graphique j'ai droit à une superbe erreur "Propriété non gérée par l'objet"
Bonjour,
Si j'ai bien compris, remplacer Sheets par WorkSheets dans la macro pour ne pas boucler sur les feuilles graphiques.
Exemple : dans un classeur contenant 3 feuilles de calcul et une feuille graphique
Sub cpt() f = 0 For Each f In ActiveWorkbook.Worksheets ct = ct + 1 Next f MsgBox ct End Sub
a pour résultat 3 tandis que
Sub cpt() f = 0 For Each f In ActiveWorkbook.Sheets ct = ct + 1 Next f MsgBox ct End Sub
a pour résultat 4
-- François L
Bonjour à tous
Me revoilà avec un nouveau problème irritant :
Mon programme en VBA recense dans un classeur les feuilles dont le contenu
de la cellule L3C4 est "GesFab"
Enfantin mais dans ce classeur j'ai une feuille graphique et quand le
programme arrive à cette feuille graphique j'ai droit à une superbe erreur
"Propriété non gérée par l'objet"
Bonjour,
Si j'ai bien compris, remplacer Sheets par WorkSheets dans la macro pour
ne pas boucler sur les feuilles graphiques.
Exemple : dans un classeur contenant 3 feuilles de calcul et une feuille
graphique
Sub cpt()
f = 0
For Each f In ActiveWorkbook.Worksheets
ct = ct + 1
Next f
MsgBox ct
End Sub
a pour résultat 3 tandis que
Sub cpt()
f = 0
For Each f In ActiveWorkbook.Sheets
ct = ct + 1
Next f
MsgBox ct
End Sub
Bonjour à tous Me revoilà avec un nouveau problème irritant : Mon programme en VBA recense dans un classeur les feuilles dont le contenu de la cellule L3C4 est "GesFab" Enfantin mais dans ce classeur j'ai une feuille graphique et quand le programme arrive à cette feuille graphique j'ai droit à une superbe erreur "Propriété non gérée par l'objet"
Bonjour,
Si j'ai bien compris, remplacer Sheets par WorkSheets dans la macro pour ne pas boucler sur les feuilles graphiques.
Exemple : dans un classeur contenant 3 feuilles de calcul et une feuille graphique
Sub cpt() f = 0 For Each f In ActiveWorkbook.Worksheets ct = ct + 1 Next f MsgBox ct End Sub
a pour résultat 3 tandis que
Sub cpt() f = 0 For Each f In ActiveWorkbook.Sheets ct = ct + 1 Next f MsgBox ct End Sub
a pour résultat 4
-- François L
Gil HASH
Merci François pour le Worksheets(n) au lieu de Sheets(n) J'ai modifié ma formule Workbooks(n).Worksheets(m).cells(7,3).value et tout marche
Bonjour,
Si j'ai bien compris, remplacer Sheets par WorkSheets dans la macro pour ne pas boucler sur les feuilles graphiques.
Exemple : dans un classeur contenant 3 feuilles de calcul et une feuille graphique
Sub cpt() f = 0 For Each f In ActiveWorkbook.Worksheets ct = ct + 1 Next f MsgBox ct End Sub
a pour résultat 3 tandis que
Sub cpt() f = 0 For Each f In ActiveWorkbook.Sheets ct = ct + 1 Next f MsgBox ct End Sub
a pour résultat 4
-- François L
Merci François pour le Worksheets(n) au lieu de Sheets(n)
J'ai modifié ma formule Workbooks(n).Worksheets(m).cells(7,3).value et tout
marche
Bonjour,
Si j'ai bien compris, remplacer Sheets par WorkSheets dans la macro pour
ne pas boucler sur les feuilles graphiques.
Exemple : dans un classeur contenant 3 feuilles de calcul et une feuille
graphique
Sub cpt()
f = 0
For Each f In ActiveWorkbook.Worksheets
ct = ct + 1
Next f
MsgBox ct
End Sub
a pour résultat 3 tandis que
Sub cpt()
f = 0
For Each f In ActiveWorkbook.Sheets
ct = ct + 1
Next f
MsgBox ct
End Sub