Ceci à votre sagacité,...
sur une colonne A vide d'un classeur1 quelconque j'applique ceci:
Sub tst()
[a:a].Select
MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count
End Sub
la réponse est erreur 1004 pas de cellules correspondantes
si je mets un chiffre en A3 j'obtiens 2
Si j'y ajoutes maintenant un chiffre en 65536, j'obtiens 65534
puis si je l'efface cette fois
j'ai le bon compte : 65535
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
Nicolas B.
Salut LSteph,
En inscrivant des valeurs dans des cellules, tu changes la valeur de la plage utilisée (UsedRange) de la feuille, mais en les supprimant, UsedRange n'est pas mis à jour.
SpecialCells semble chercher les cellules dans la plage UsedRange seulement (surement pour éviter des ralentissements). Pour la plupart des types de SpecialCells, ça ne pose pas de problème, puisqu'ils réfèrent à des cellules remplies (valeur, format...) donc inclus dans UsedRange, mais pour le type xlCellTypeBlanks, ça n'est pas très malin de ne pas tester toutes les cellules de la feuille...
Avec la macro suivante, il y a bien une erreur après avoir supprimé la valeur de A65536, comme dans le premier cas (avec le classeur vierge) :
Sub tst() ActiveSheet.UsedRange [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
Mais si le résultat reste ici le même pour des configurations identiques, il est quand même surprenant...
A+ Nicolas B.
Bonjour,
Ceci à votre sagacité,... sur une colonne A vide d'un classeur1 quelconque j'applique ceci:
Sub tst() [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
la réponse est erreur 1004 pas de cellules correspondantes si je mets un chiffre en A3 j'obtiens 2 Si j'y ajoutes maintenant un chiffre en 65536, j'obtiens 65534 puis si je l'efface cette fois j'ai le bon compte : 65535
Curieux non!
a+
lSteph
Salut LSteph,
En inscrivant des valeurs dans des cellules, tu changes la valeur de la
plage utilisée (UsedRange) de la feuille, mais en les supprimant,
UsedRange n'est pas mis à jour.
SpecialCells semble chercher les cellules dans la plage UsedRange
seulement (surement pour éviter des ralentissements).
Pour la plupart des types de SpecialCells, ça ne pose pas de problème,
puisqu'ils réfèrent à des cellules remplies (valeur, format...) donc
inclus dans UsedRange, mais pour le type xlCellTypeBlanks, ça n'est pas
très malin de ne pas tester toutes les cellules de la feuille...
Avec la macro suivante, il y a bien une erreur après avoir supprimé la
valeur de A65536, comme dans le premier cas (avec le classeur vierge) :
Sub tst()
ActiveSheet.UsedRange
[a:a].Select
MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count
End Sub
Mais si le résultat reste ici le même pour des configurations
identiques, il est quand même surprenant...
A+
Nicolas B.
Bonjour,
Ceci à votre sagacité,...
sur une colonne A vide d'un classeur1 quelconque j'applique ceci:
Sub tst()
[a:a].Select
MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count
End Sub
la réponse est erreur 1004 pas de cellules correspondantes
si je mets un chiffre en A3 j'obtiens 2
Si j'y ajoutes maintenant un chiffre en 65536, j'obtiens 65534
puis si je l'efface cette fois
j'ai le bon compte : 65535
En inscrivant des valeurs dans des cellules, tu changes la valeur de la plage utilisée (UsedRange) de la feuille, mais en les supprimant, UsedRange n'est pas mis à jour.
SpecialCells semble chercher les cellules dans la plage UsedRange seulement (surement pour éviter des ralentissements). Pour la plupart des types de SpecialCells, ça ne pose pas de problème, puisqu'ils réfèrent à des cellules remplies (valeur, format...) donc inclus dans UsedRange, mais pour le type xlCellTypeBlanks, ça n'est pas très malin de ne pas tester toutes les cellules de la feuille...
Avec la macro suivante, il y a bien une erreur après avoir supprimé la valeur de A65536, comme dans le premier cas (avec le classeur vierge) :
Sub tst() ActiveSheet.UsedRange [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
Mais si le résultat reste ici le même pour des configurations identiques, il est quand même surprenant...
A+ Nicolas B.
Bonjour,
Ceci à votre sagacité,... sur une colonne A vide d'un classeur1 quelconque j'applique ceci:
Sub tst() [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
la réponse est erreur 1004 pas de cellules correspondantes si je mets un chiffre en A3 j'obtiens 2 Si j'y ajoutes maintenant un chiffre en 65536, j'obtiens 65534 puis si je l'efface cette fois j'ai le bon compte : 65535
Curieux non!
a+
lSteph
LSteph
Salut Nicolas, c'est aussi l'analyse que j'en fais, il faut qu'il y ait eu comme tu le dis un usedrange le premier sera restreint à la dernière cellule soit si d'emblée on met qqchose en A5 on obtient 4 si l'on met qqchose en 65535 on obtient 65534
et oui, cela reste un peu bizarre !
Merci pour ton avis. a+
lSteph
"Nicolas B." a écrit dans le message de news: uTLi5%
Salut LSteph,
En inscrivant des valeurs dans des cellules, tu changes la valeur de la plage utilisée (UsedRange) de la feuille, mais en les supprimant, UsedRange n'est pas mis à jour.
SpecialCells semble chercher les cellules dans la plage UsedRange seulement (surement pour éviter des ralentissements). Pour la plupart des types de SpecialCells, ça ne pose pas de problème, puisqu'ils réfèrent à des cellules remplies (valeur, format...) donc inclus dans UsedRange, mais pour le type xlCellTypeBlanks, ça n'est pas très malin de ne pas tester toutes les cellules de la feuille...
Avec la macro suivante, il y a bien une erreur après avoir supprimé la valeur de A65536, comme dans le premier cas (avec le classeur vierge) :
Sub tst() ActiveSheet.UsedRange [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
Mais si le résultat reste ici le même pour des configurations identiques, il est quand même surprenant...
A+ Nicolas B.
Bonjour,
Ceci à votre sagacité,... sur une colonne A vide d'un classeur1 quelconque j'applique ceci:
Sub tst() [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
la réponse est erreur 1004 pas de cellules correspondantes si je mets un chiffre en A3 j'obtiens 2 Si j'y ajoutes maintenant un chiffre en 65536, j'obtiens 65534 puis si je l'efface cette fois j'ai le bon compte : 65535
Curieux non!
a+
lSteph
Salut Nicolas,
c'est aussi l'analyse que j'en fais, il faut qu'il y ait eu comme tu le dis
un usedrange
le premier sera restreint à la dernière cellule soit si d'emblée on met
qqchose
en A5 on obtient 4
si l'on met qqchose en 65535 on obtient 65534
et oui, cela reste un peu bizarre !
Merci pour ton avis.
a+
lSteph
"Nicolas B." <nicolas.bruot@adresse.bidon.invalid> a écrit dans le message
de news: uTLi5%23xqFHA.3352@TK2MSFTNGP14.phx.gbl...
Salut LSteph,
En inscrivant des valeurs dans des cellules, tu changes la valeur de la
plage utilisée (UsedRange) de la feuille, mais en les supprimant,
UsedRange n'est pas mis à jour.
SpecialCells semble chercher les cellules dans la plage UsedRange
seulement (surement pour éviter des ralentissements).
Pour la plupart des types de SpecialCells, ça ne pose pas de problème,
puisqu'ils réfèrent à des cellules remplies (valeur, format...) donc
inclus dans UsedRange, mais pour le type xlCellTypeBlanks, ça n'est pas
très malin de ne pas tester toutes les cellules de la feuille...
Avec la macro suivante, il y a bien une erreur après avoir supprimé la
valeur de A65536, comme dans le premier cas (avec le classeur vierge) :
Sub tst()
ActiveSheet.UsedRange
[a:a].Select
MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count
End Sub
Mais si le résultat reste ici le même pour des configurations identiques,
il est quand même surprenant...
A+
Nicolas B.
Bonjour,
Ceci à votre sagacité,...
sur une colonne A vide d'un classeur1 quelconque j'applique ceci:
Sub tst()
[a:a].Select
MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count
End Sub
la réponse est erreur 1004 pas de cellules correspondantes
si je mets un chiffre en A3 j'obtiens 2
Si j'y ajoutes maintenant un chiffre en 65536, j'obtiens 65534
puis si je l'efface cette fois
j'ai le bon compte : 65535
Salut Nicolas, c'est aussi l'analyse que j'en fais, il faut qu'il y ait eu comme tu le dis un usedrange le premier sera restreint à la dernière cellule soit si d'emblée on met qqchose en A5 on obtient 4 si l'on met qqchose en 65535 on obtient 65534
et oui, cela reste un peu bizarre !
Merci pour ton avis. a+
lSteph
"Nicolas B." a écrit dans le message de news: uTLi5%
Salut LSteph,
En inscrivant des valeurs dans des cellules, tu changes la valeur de la plage utilisée (UsedRange) de la feuille, mais en les supprimant, UsedRange n'est pas mis à jour.
SpecialCells semble chercher les cellules dans la plage UsedRange seulement (surement pour éviter des ralentissements). Pour la plupart des types de SpecialCells, ça ne pose pas de problème, puisqu'ils réfèrent à des cellules remplies (valeur, format...) donc inclus dans UsedRange, mais pour le type xlCellTypeBlanks, ça n'est pas très malin de ne pas tester toutes les cellules de la feuille...
Avec la macro suivante, il y a bien une erreur après avoir supprimé la valeur de A65536, comme dans le premier cas (avec le classeur vierge) :
Sub tst() ActiveSheet.UsedRange [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
Mais si le résultat reste ici le même pour des configurations identiques, il est quand même surprenant...
A+ Nicolas B.
Bonjour,
Ceci à votre sagacité,... sur une colonne A vide d'un classeur1 quelconque j'applique ceci:
Sub tst() [a:a].Select MsgBox Selection.SpecialCells(xlCellTypeBlanks).Count End Sub
la réponse est erreur 1004 pas de cellules correspondantes si je mets un chiffre en A3 j'obtiens 2 Si j'y ajoutes maintenant un chiffre en 65536, j'obtiens 65534 puis si je l'efface cette fois j'ai le bon compte : 65535