Condition par rapport à ma selection fait au préalable

[Résolu]
Signaler
Messages postés
35
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
3 mai 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour tout le monde,

j'aimerais faire une condition si ma sélection faite au préalable est non vide alors ...

voila mes lignes de code qui ne fonctionne pas
ActiveSheet.UsedRange.Rows("2:" & ActiveSheet.UsedRange.Rows.Count).EntireRow.Select
        If Selection.Value <> "" Then


J'espère que vous allez pouvoir m'éclairer sur ce problème.

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
En voilà une autre, bien plus simple à transposer pour une plage ?
Elle vérifie l'absence de valeurs entrées.
 Private Function verlignevide(ByVal ligne As Long) As Boolean
  If Rows(ligne).SpecialCells(xlCellTypeConstants) Is Nothing Then
    verlignevide = True
  End If
End Function

tu vois ? regarde, en fonction de tes cellules, tous les arguments qu'il est possible d'utiliser pour SpecialCells.

Ce ne sont pas les mécanismes, qui manquent (on pourrait en établir d'autres )

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
Il faut que tu fasse code du style

Range("D11").Select
If Range("D11") = "" Then MsgBox "vide"

Ou

If ActiveCell.Value = "" Then MsgBox "vvvv"
Messages postés
35
Date d'inscription
mercredi 25 mai 2011
Statut
Membre
Dernière intervention
3 mai 2012

Oui ça je l'ai bien compris mais moi je voulais faire une condition par rapport à une sélection et non par rapport à une (cellule,colonne ou ligne) car les numéros des lignes sont aléatoire. (car la sélection se fait juste après un filtrage des données.)

J'espère avoir été clair
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,

J'essaierais pour ma part d'éviter de boucler sur toutes les cellules d'une plage (sélectionnée ou définie)

Voilà un petit exemple :
La plage, dans cet exemple, est une ligne entière (je ne veux pas te donner du tout cuit pour une sélection). A toi de comprendre et d'adapter (juste un peu de gymnastique de l'esprit).

Une petite fonction bien amusante que je viens d'écrire :

Private Function verlignevide(ByVal ligne As Long) As Boolean
  Dim toto As Range
  Set toto = Rows(ligne).SpecialCells(xlCellTypeBlanks)
  If toto.Areas.Count 1 And toto.Column 1 Then
    verlignevide = True
  End If
End Function



Cette fonction retournera vrai ou faux selon que la ligne ligne passée en paramètre est vide ou non.
Allez ====>> Transforme tout ça (pas difficile) en passant en paramètre une plage et non une ligne



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est