Selection des cellules non vides

  • Initiateur de la discussion Initiateur de la discussion fanic
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fanic

XLDnaute Nouveau
Bonjour,
Je cherche un moyen de selectionner toutes les cellules non vide d'une colonne.
Le numéro de la colonne est récupéré par une inputbox.
J'ai tésté ce code mais il selectionne les cellules vides
Range("A1").Select
Selection.SpecialCells(xlCellTypeBlanks).Select

merci d'avance
 
Re : Selection des cellules non vides

Bonjour,

Sub test()
With Range("A:A")
Application.Union(.SpecialCells(xlCellTypeFormulas), .SpecialCells (xlCellTypeConstants)).Select
End With
End Sub

Selectionne les cellules non vides (constantes et formules)
 
Re : Selection des cellules non vides

Bonjour,

D'accord avec toi Stapple1600. Moins élégant mais qui fonctionne :
Code:
Sub nonvide()
Dim Plage As Range, cel As Range
Dim i As Integer, j As Integer
i = 1
j = 0
    For Each cel In ActiveSheet.Range("A1:A10") '
    a = cel.Value
        If cel.Value <> "" Then
            j = j + 1
            If j < 2 Then
                Set Plage = cel
                Else
                Set Plage = Union(Plage, cel)
            End If
        End If
    Next
Plage.Select
End Sub

Cordialement
 
Re : Selection des cellules non vides

re

avec celle là (adaptée de celle de Catrice)

pas d'erreur (mais ne prend pas en compte les cellules avec formules)

Sub tdest()
With Range("B:B")
Cells.SpecialCells(xlCellTypeConstants).Select
End With
End Sub

Avec celle-ci la meme erreur apparait

Sub tedst()
With Range("B:B")
Cells.SpecialCells(xlCellTypeFormulas, xlCellTypeConstants).Select
End With
End Sub

Donc s'il n'y a pas de formules dans les cellules---> message d'erreur
 
Dernière édition:
Re : Selection des cellules non vides

Re

SOURCE:SpecialCells Method. Select Specific Cell Types Excel VBA

Code:
Sub AllNummericCells()
Dim rCcells As Range, rFcells As Range
Dim rAcells As Range

    'Set variable to all used cells
    Set rAcells = ActiveSheet.UsedRange

    On Error Resume Next 'In case of no numeric formula or constants.

    'Set variable to all numeric constants
    Set rCcells = rAcells.SpecialCells(xlCellTypeConstants, xlNumbers)
    'Set variable to all numeric formulas
    Set rFcells = rAcells.SpecialCells(xlCellTypeFormulas, xlNumbers)

    'Determine which type of numeric data (formulas, constants or none)
    If rCcells Is Nothing And rFcells Is Nothing Then
       MsgBox "You Worksheet contains no numbers"
       End
    ElseIf rCcells Is Nothing Then
       Set rAcells = rFcells 'formulas
    ElseIf rFcells Is Nothing Then
       Set rAcells = rCcells 'constants
    Else
       Set rAcells = Application.Union(rFcells, rCcells) 'Both
    End If
    On Error GoTo 0

    rAcells.Select
End Sub
 
Re : Selection des cellules non vides

Re à tous,

Hors sujet mais tellement élégant pour sélectionner les cellules vides d'une plage (Extrapolé d'un code de l'élégantissime MyDearFriend)🙂

Code:
Sub Vide()
ActiveSheet.Range("A:A").SpecialCells(4).Select
End Sub

Cordialement
 
Re : Selection des cellules non vides

Re,
ta dernière proposition provoque aussi une erreur 1004...
Chez moi en tout cas.
Cordialement

Edit : La dernière proposition est en fait l'avant dernière... puisqu'on a posté ensemble
La dernière fonctionne mais ne prend pas en compte tous les cas de figure, et c'est là la difficulté avec ce code ultra compact.
 
Dernière édition:
Re : Selection des cellules non vides

Re

Pas d'erreur chez moi (XL2K)

Plage contenant chiffres, lettres , des cellules vides et une cellule contenant
la formule =AUJOURDHUI()

(Avec le code précédent, celle-ci n'est pas sélectionnée, ce qui est normal)
 
Re : Selection des cellules non vides

Re,

En fait à priori pas de rapport avec la version.
J'avais testé avec une zone qui contenait Formule et data.

Ca plante qd il n'y a pas un des 2 types de données : solution ici

Sub test()
On Error Resume Next
With Range("A:A")
If IsError(.SpecialCells(xlCellTypeFormulas)) Then
If IsError(.SpecialCells(xlCellTypeConstants)) Then
MsgBox "zone vide1"
Else
.SpecialCells(xlCellTypeConstants).Select
End If
Else
If IsError(.SpecialCells(xlCellTypeConstants)) Then
.SpecialCells(xlCellTypeFormulas).Select
Else
Application.Union(.SpecialCells(xlCellTypeFormulas), .SpecialCells(xlCellTypeConstants)).Select
End If
End If
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
100
Réponses
5
Affichages
237
Retour