Continuation d'une macro malgré une "valeur non trouvée"
Résolu
jmnexcelpas
Messages postés
2
Statut
Membre
-
jmnexcelpas Messages postés 2 Statut Membre -
jmnexcelpas Messages postés 2 Statut Membre -
Bonjour,
Je cherche à remplacer les cellules vides de chaque tableau figurant sur chaque feuille par un point. Il y a donc un tableau de données par feuille.
J'ai créé la macro suivante qui fonctionne jusqu'à ...
Sub remplcelvide()
For sh_index = 1 To Sheets.Count
Sheets(sh_index).Select
Range("A1").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Replace What:="", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next sh_index
End Sub
... jusqu'à ce qu'un tableau ne comporte pas de cellule vide ! Et c'est la qu'est l'os, parceque le message n'est pas "une erreur" mais bien qu'aucune valeur n'a été trouvée dans ce tableau. En clair : il n'y a pas de cellule vide. Et patatra, la macro s'arrête.
J'ai bien trouvé comment contourner une "erreur", par : "On Error GoTo ErrorHandler" mais dans mon cas, je dois juste passer à la feuille suivante si la macro ne trouve pas de cellule vide. Et je ne parviens pas à adapter ma macro pour y arriver.
Un conseil ou une solution ? Je vous remercie déjà pour votre aide.
Je cherche à remplacer les cellules vides de chaque tableau figurant sur chaque feuille par un point. Il y a donc un tableau de données par feuille.
J'ai créé la macro suivante qui fonctionne jusqu'à ...
Sub remplcelvide()
For sh_index = 1 To Sheets.Count
Sheets(sh_index).Select
Range("A1").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Replace What:="", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next sh_index
End Sub
... jusqu'à ce qu'un tableau ne comporte pas de cellule vide ! Et c'est la qu'est l'os, parceque le message n'est pas "une erreur" mais bien qu'aucune valeur n'a été trouvée dans ce tableau. En clair : il n'y a pas de cellule vide. Et patatra, la macro s'arrête.
J'ai bien trouvé comment contourner une "erreur", par : "On Error GoTo ErrorHandler" mais dans mon cas, je dois juste passer à la feuille suivante si la macro ne trouve pas de cellule vide. Et je ne parviens pas à adapter ma macro pour y arriver.
Un conseil ou une solution ? Je vous remercie déjà pour votre aide.
A voir également:
- Continuation d'une macro malgré une "valeur non trouvée"
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
1 réponse
Bonjour
Remplace ta macro par celle-ci :
ActiveSheet.UsedRange.Address donne l'adresse de la plage utilisée dans la feuille
Si le nombre de cellules vides dans cette plage est >0 on applique la procédure de remplacement
Cdlmnt
Via
Remplace ta macro par celle-ci :
Sub remplcelvide() For sh_index = 1 To Sheets.Count Sheets(sh_index).Select plage = ActiveSheet.UsedRange.Address If Application.WorksheetFunction.CountBlank(Range(plage)) > 0 Then Selection.SpecialCells(xlCellTypeBlanks).Select Selection.Replace What:="", Replacement:=".", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End If Next sh_index End Sub
ActiveSheet.UsedRange.Address donne l'adresse de la plage utilisée dans la feuille
Si le nombre de cellules vides dans cette plage est >0 on applique la procédure de remplacement
Cdlmnt
Via
jmnexcelpas
Messages postés
2
Statut
Membre
Un tout grand merci "via55". Ca fonctionne très bien.