Gestion des erreurs
Bonjour à tous,
Mon sujet concerne la gestion des erreurs, le code est le suivant:
On Error GoTo gestionErreurs
Dim nbfeuille As Integer
nbfeuille = Sheets.Count
For F = 1 To nbfeuille
' REINITIALISATION DES VARIABLES
somme = 0
somme_qte = 0
total_quantité = 0
valo_calculée = 0
Sheets(F).Activate
Cells.Find(What:="VL à calculer", After:=ActiveCell, LookIn:=xlValues _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=True).Activate
.
.(code pour calculer les VL)
.
gestionErreurs:
Next FJ'aimerai créer une macro, qui me permet de calculer des valeurs liquidatives, dans un fichier excel qui contient une soixantaine de feuilles.
J'ai comme repère là où je dois effectuer le calcul le terme suivant "VL à calculer", si la feuille ne contient pas cette phrase je voudrais qu'il passe à la feuille suivante.
le problème dans mon cas , c'est que cela marche pour la première feuille, il va donc à la deuxième feuille de mon classeur, mais la deuxième feuille de mon classeur ne contient toujours pas le terme "VL à calculer" et là j'ai le droit à cette erreur:
Auriez vous des suggestions pour pouvoir me sortir de ce problème ?
Vous remerciant par avance :)
Bonjour,
Voici un essai :
for each ws in worksheets
somme = 0: somme_qte = 0: total_quantité = 0: valo_calculée = 0
set r = ws.Cells.Find("VL à calculer", , xlValues, LookAt:=xlPart)
if not r is nothing then
addstart = r.address
do
'CODE POUR CALCULER LES VL
set r = ws.Cells.Find("VL à calculer", r, xlValues, LookAt:=xlPart)
loop while r.address <> addstart
end if
next wsCdlt,