macro pour sélectionner la toatalité d'une feuille
Le
Serge Nazarian

Bonjour,
Je ne trouve pas comment sélectionner la totalité des cellules écrites d'une
feuille (équivalent de Ctrl A en interactif).
Qui peut me dire comment faire ?
Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Je ne trouve pas comment sélectionner la totalité des cellules écrites d'une
feuille (équivalent de Ctrl A en interactif).
Qui peut me dire comment faire ?
Merci pour toute aide.
Cordialement,
--
Serge Nazarian
L'enregistreur de macros me souffle l'instruction :
Cells.Select
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Serge Nazarian" news:4bebac22$0$16463$
Philippe.R
Merci pour cette réponse si rapide.
Hélas, cette instruction sélectionne toute la feuille et non pas les seules
cellules écrites.
Le but est de faire un tri sur les cellules sélectionnées..
Cordialement,
--
Serge Nazarian
| Cells.SpecialCells(xlCellTypeConstants, 23).Select
Explication :
xlCellTypeConstants Représente le type de cellules que l'on veut sélectionner
Le deuxième argument (23) représente la somme des valeurs numériques de
xlerrors, xllogicial, xlnumbers, xltextvalues
Selon la situation, tu pourrais en sélectionner qu'un parmi les 4 types.
On peut utiliser soit la constante alphanumérique ou la constante numérique
Comme la constante numérique est plus courte à écrire que :
Cells.SpecialCells(xlCellTypeConstants, xlErrors + xlLogical + xlNumbers +
xlTextValues).Select
Plusieurs préfèrent retenir Cells.SpecialCells(xlCellTypeConstants, 16+4+1+2).Select
d'où : Cells.SpecialCells(xlCellTypeConstants, 23).Select
Cette ligne de code s'utilise toujours avec devant, On error resume next, car elle
provoque
une erreur 1004 si dans la plage retenue il n'y a aucune cellule qui répond au type
défini.
xlErrors 16
xlLogical 4
xlNumbers 1
xlTextValues 2
Cependant, si ta feuille contient en plus des constantes, des formules, pour
tous sélectionner, tu devras écrire :
'------------------------------
With Worksheets("Feuil1")
Union(.UsedRange.SpecialCells(xlCellTypeFormulas),
.UsedRange.SpecialCells(xlCellTypeConstants)).Select
End With
'------------------------------
"Serge Nazarian" 4bebc3b3$0$2049$
Bonjour,
Merci, mais ceci ne sélectionne pas toutes les cellules, mais "presque toutes", et j'ai
l'impression que c'est une réunion de groupes de cellules.
Peux-tu expliquer la syntaxe et en particulier le (xlCellTypeConstants, 23). Les cellules
calculées ne semblent pas prises en compte, ni les vides.
Cordialement,
--
Serge Nazarian
"Jacky"
Bonjour,
Cells.SpecialCells(xlCellTypeConstants, 23).Select
--
Salutations
JJ
"Serge Nazarian" 4bebac22$0$16463$
Bonjour,
Je ne trouve pas comment sélectionner la totalité des cellules écrites d'une
feuille (équivalent de Ctrl A en interactif).
Qui peut me dire comment faire ?
Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Ben, chez moi, Ctrl A, c'est cells.select
nonobstant, la version de Jacky sélectionne bien toutes les cellules
contenant des données, mais pas celles contenant des formules
pour sélectionner toutes les cellules non vides de ta feuille, tu peux
essayer :
Dim monranch As String
monranch = Cells.SpecialCells(xlCellTypeFormulas).Address _
& "," & Cells.SpecialCells(xlCellTypeConstants, 23).Address
Range(monranch).Select
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Serge Nazarian" news:4bebb26a$0$24608$
Serge Nazarian
Merci pour toutes ces réponses qui m'ont rendu un peu moins ignorant.
Cordialement,
--
Serge Nazarian
Serge Nazarian
Aucune des solutions proposées ne marchait correctement chez moi, c'est à
dire produisait le même résultat que CtrlA en interactif (la plus
approchante étant Cells.Select).
Je savais que, quelque part dans mon fouillis, se trouvait cependant la
solution. Je l'ai exhumée. La voici.
Elle n'est pas de moi et j'ai oublié où je l'avais trouvée, mais crois me
souvenir qu'elle était accompagnée de plein d'autres choses intéressantes.
Donc, si quelqu'un sait où, cela serait bien qu'il le rappelle.
***************
Dim RealLastRow, RealLastColumn As Long
On Error Resume Next
RealLastRow = _
Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
RealLastColumn = _
Cells.Find("*", [A1], , , xlByColumns, xlPrevious).Column
Range(Cells(1, 1), Cells(RealLastRow, RealLastColumn)).Select
***************
Cordialement,
--
Serge Nazarian
cells.select tout simplement
"Serge Nazarian" news:4bebac22$0$16463$
Philippe GRYSON
Comme je l'ai écrit dans le message juste au dessus :
Aucune des solutions proposées ne marchait correctement chez moi, c'est à
dire produisait le même résultat que CtrlA en interactif (la plus
approchante étant Cells.Select).
Je précise : CHEZ MOI
je ne doute pas de la pertinence de cette réponse, donnée depuis longtemps
par Philippe.R, dans un autre contexte.
Cordialement,
--
Serge Nazarian