On peut sélectionner plusieurs cellules Excel (de manière contiguë ou non) en utilisant le raccourci clavier Ctrl+ clic.
Comment désélectionnez-vous une ou plusieurs de ces cellules précédemment sélectionnées?
On peut sélectionner plusieurs cellules Excel (de manière contiguë ou non) en utilisant le raccourci clavier Ctrl+ clic.
Comment désélectionnez-vous une ou plusieurs de ces cellules précédemment sélectionnées?
Réponses:
En utilisant les touches MAJ et / ou CTRL, vous pouvez sélectionner des plages non contiguës. Cependant, si vous sélectionnez une cellule ou une zone par erreur, il n'existe aucun moyen intégré de supprimer cela de la sélection sans perdre la sélection entière et avoir à recommencer. Cette page décrit les procédures VBA, UnSelectActiveCell et UnSelectCurrentArea qui supprimeront la cellule active ou la zone contenant la cellule active de la sélection actuelle. Toutes les autres cellules de la sélection resteront sélectionnées.
Votre meilleur pari serait de les ajouter à votre classeur de macros personnelles afin qu'elles soient disponibles pour tous les classeurs ouverts dans Excel.
Cette procédure supprimera la cellule active de la sélection .
Sub UnSelectActiveCell()
Dim R As Range
Dim RR As Range
For Each R In Selection.Cells
If StrComp(R.Address, ActiveCell.Address, vbBinaryCompare) <> 0 Then
If RR Is Nothing Then
Set RR = R
Else
Set RR = Application.Union(RR, R)
End If
End If
Next R
If Not RR Is Nothing Then
RR.Select
End If
End Sub
Cette procédure supprimera la zone contenant la cellule active de la sélection.
Sub UnSelectCurrentArea()
Dim Area As Range
Dim RR As Range
For Each Area In Selection.Areas
If Application.Intersect(Area, ActiveCell) Is Nothing Then
If RR Is Nothing Then
Set RR = Area
Else
Set RR = Application.Union(RR, Area)
End If
End If
Next Area
If Not RR Is Nothing Then
RR.Select
End If
End Sub
deselect
une cellule. C'est absolument ridicule! Je sélectionne toutes les 2 colonnes et si je fais une erreur, je dois recommencer? C'est% & * ing fou!
Un moyen plus robuste de désélectionner plusieurs cellules est décrit dans cet article ExtendOffice . Il comprend une invite supplémentaire, mais vous pouvez désélectionner un nombre arbitraire de cellules / sélections à la fois (au lieu de désélectionner uniquement la cellule ou la zone active)
Je publie le script ici, avec une petite amélioration de l'utilisabilité (suppression conditionnelle de la première invite redondante de la publication d'origine):
Sub DeselectCells()
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim result As Range
xTitleId = "Deselect Cells"
Set InputRng = Application.Selection
If InputRng.Count <= 1 Then
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
End If
Set DeleteRng = Application.InputBox("Delete Range", xTitleId, Type:=8)
For Each rng In InputRng
If Application.Intersect(rng, DeleteRng) Is Nothing Then
If result Is Nothing Then
Set result = rng
Else
Set result = Application.Union(result, rng)
End If
End If
Next
result.Select
End Sub
Pour l' utiliser, vous faites une sélection, appelez la DeselectCells
macro (qui est le mieux pour être enregistré dans votre livre de macros personnelles et affecté à un raccourci) et sélectionnez les cellules à de sélectionné dans le menu contextuel qui apparaît:
UnSelectActiveCell
plus vite si vous vous réunissez par plages et ne bouclez que dans les cellules siNot Intersect(Area,ActiveCell) Is Nothing
. Cela pourrait ne pas être le cas si laIntersect
fonction est tellement plus lente que laStrComp
fonction qu'elle ne peut pas compenser la réduction des appels àUnion
.