Condition par rapport à ma selection fait au préalable

Résolu
maxxx08 Messages postés 33 Date d'inscription mercredi 25 mai 2011 Statut Membre Dernière intervention 3 mai 2012 - 31 mai 2011 à 09:41
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 31 mai 2011 à 11:17
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
31 mai 2011 à 11:17
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
3
4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
31 mai 2011 à 10:05
Il faut que tu fasse code du style

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

Ou

If ActiveCell.Value = "" Then MsgBox "vvvv"
0
maxxx08 Messages postés 33 Date d'inscription mercredi 25 mai 2011 Statut Membre Dernière intervention 3 mai 2012
31 mai 2011 à 10:28
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
31 mai 2011 à 11:03
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
0
Rejoignez-nous